@pendle/core-v2 5.2.0 → 5.2.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 (247) hide show
  1. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSENASY.sol/PendleSENASY.dbg.json +1 -1
  2. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSENASY.sol/PendleSENASY.json +2 -2
  3. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.dbg.json +1 -1
  4. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.json +2 -2
  5. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.dbg.json +1 -1
  6. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.json +2 -2
  7. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.dbg.json +1 -1
  8. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.json +2 -2
  9. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  10. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  11. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.dbg.json +1 -1
  12. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.json +2 -2
  13. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.dbg.json +1 -1
  14. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.json +2 -2
  15. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.dbg.json +1 -1
  16. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.json +2 -2
  17. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.dbg.json +1 -1
  19. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.json +2 -2
  20. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.dbg.json +1 -1
  21. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.json +2 -2
  22. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleAgETHSY.sol/PendleAgETHSY.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleAgETHSY.sol/PendleAgETHSY.json +2 -2
  24. package/build/artifacts/contracts/core/StandardizedYield/implementations/Lombard/PendleLBTCBaseSY.sol/PendleLBTCBaseSY.dbg.json +4 -0
  25. package/build/artifacts/contracts/core/StandardizedYield/implementations/Lombard/PendleLBTCBaseSY.sol/PendleLBTCBaseSY.json +1111 -0
  26. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.json +2 -2
  28. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.json +2 -2
  30. package/build/artifacts/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol/PendleMorphoMetaVaultSY.dbg.json +4 -0
  31. package/build/artifacts/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol/PendleMorphoMetaVaultSY.json +1052 -0
  32. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol/PendleERC4626NotRedeemableToAssetSY.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol/PendleERC4626NotRedeemableToAssetSY.json +2 -2
  34. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  36. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol/PendleERC4626SYV2.dbg.json +4 -0
  37. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol/PendleERC4626SYV2.json +1026 -0
  38. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
  40. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol/PendleERC4626SYUpg.dbg.json +4 -0
  41. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol/PendleERC4626SYUpg.json +1000 -0
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol/PendleSUSDSSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol/PendleSUSDSSY.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol/PendleSyrupSY.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol/PendleSyrupSY.json +2 -2
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.json +2 -2
  56. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  57. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
  58. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  59. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  60. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  61. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  62. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  63. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  64. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  65. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  66. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  67. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  68. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +4 -0
  75. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.json +122 -0
  76. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +4 -0
  77. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.json +91 -0
  78. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +4 -0
  79. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.json +262 -0
  80. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +96 -0
  83. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.json +13 -0
  86. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/Lombard/ILBTCMinterBase.sol/ILBTCMinterBase.dbg.json +4 -0
  88. package/build/artifacts/contracts/interfaces/Lombard/ILBTCMinterBase.sol/ILBTCMinterBase.json +63 -0
  89. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  90. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  91. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  92. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  93. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  94. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +1 -1
  95. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +2 -2
  96. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  97. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  98. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  99. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  100. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  101. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  102. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  103. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  104. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  105. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  106. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  107. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  108. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  109. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  110. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  111. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  112. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  113. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  114. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  115. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +4 -0
  116. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +226 -0
  117. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +4 -0
  118. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +343 -0
  119. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +4 -0
  120. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +257 -0
  121. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
  122. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
  123. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  124. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  125. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  126. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  127. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  128. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  129. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  130. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  131. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  132. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  133. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  134. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  135. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  136. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  137. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  138. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  139. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  140. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  141. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  142. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  143. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  144. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  145. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  146. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  147. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  148. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  149. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  150. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  151. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  152. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  153. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  154. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  155. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  156. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  157. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  158. package/contracts/core/StandardizedYield/implementations/Lombard/PendleLBTCBaseSY.sol +121 -0
  159. package/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol +21 -0
  160. package/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol +0 -1
  161. package/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol +88 -0
  162. package/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol +83 -0
  163. package/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol +2 -1
  164. package/contracts/interfaces/IERC4626.sol +2 -0
  165. package/contracts/interfaces/IPChainlinkOracle.sol +11 -0
  166. package/contracts/interfaces/IPChainlinkOracleFactory.sol +22 -0
  167. package/contracts/interfaces/IPChainlinkOracleWithQuote.sol +8 -0
  168. package/contracts/interfaces/IPLimitRouter.sol +22 -12
  169. package/contracts/interfaces/IPPYLpOracle.sol +3 -4
  170. package/contracts/interfaces/Lombard/ILBTCMinterBase.sol +12 -0
  171. package/contracts/oracles/factory/PendleChainlinkOracle.sol +134 -0
  172. package/contracts/oracles/factory/PendleChainlinkOracleFactory.sol +121 -0
  173. package/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol +50 -0
  174. package/deployments/1-markets/MORPHO-PWBTC-JUN2025.json +14 -0
  175. package/deployments/1-markets/SUSDS-MAINNET-MAR2025-RELAUNCH.json +12 -0
  176. package/deployments/1-markets/USD0++-MAINNET-JUN2025.json +14 -0
  177. package/deployments/42161-markets/GUSDC-ARBITRUM-JUN2025.json +14 -0
  178. package/deployments/42161-markets/MUXLP-ARBITRUM-JUN2025.json +14 -0
  179. package/deployments/8453-markets/CBETH-BASE-DEC2025.json +14 -0
  180. package/deployments/8453-markets/LBTC-BASE-MAY2025.json +14 -0
  181. package/package.json +1 -1
  182. package/typechain-types/IERC4626.ts +16 -0
  183. package/typechain-types/ILBTCMinterBase.ts +159 -0
  184. package/typechain-types/IPLimitRouter.ts +36 -0
  185. package/typechain-types/IPPYLpOracle.ts +21 -0
  186. package/typechain-types/PendleERC4626SYV2.ts +1281 -0
  187. package/typechain-types/PendleLBTCBaseSY.ts +1470 -0
  188. package/typechain-types/PendleMorphoMetaVaultSY.ts +1323 -0
  189. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  190. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  191. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  192. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  193. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  194. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  195. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  196. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  197. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  198. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  199. package/typechain-types/factories/ActionSwapLimitV3__factory.ts +1 -1
  200. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  201. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  202. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  203. package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
  204. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  205. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  206. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  207. package/typechain-types/factories/ILBTCMinterBase__factory.ts +78 -0
  208. package/typechain-types/factories/IPLimitRouter__factory.ts +96 -0
  209. package/typechain-types/factories/IPPYLpOracle__factory.ts +13 -0
  210. package/typechain-types/factories/LimitBackendHelper__factory.ts +1 -1
  211. package/typechain-types/factories/PendleAgETHSY__factory.ts +1 -1
  212. package/typechain-types/factories/PendleAmphorWstETHVaultSY__factory.ts +1 -1
  213. package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
  214. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  215. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -49
  216. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -49
  217. package/typechain-types/factories/PendleERC4626NotRedeemableToAssetSY__factory.ts +1 -1
  218. package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
  219. package/typechain-types/factories/PendleERC4626SYV2__factory.ts +1095 -0
  220. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  221. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  222. package/typechain-types/factories/PendleGTokenSY__factory.ts +1 -1
  223. package/typechain-types/factories/PendleGUSDCSY__factory.ts +1 -1
  224. package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1 -1
  225. package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1 -1
  226. package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1 -1
  227. package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1 -1
  228. package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1 -1
  229. package/typechain-types/factories/PendleLBTCBaseSY__factory.ts +1164 -0
  230. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  231. package/typechain-types/factories/PendleMellowVaultERC4626SYUpg__factory.ts +1 -1
  232. package/typechain-types/factories/PendleMorphoMetaVaultSY__factory.ts +1125 -0
  233. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  234. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  235. package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
  236. package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
  237. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  238. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  239. package/typechain-types/factories/PendleSENASY__factory.ts +1 -1
  240. package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
  241. package/typechain-types/factories/PendleSUSDSSY__factory.ts +1 -1
  242. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  243. package/typechain-types/factories/PendleSyrupSY__factory.ts +1 -1
  244. package/typechain-types/factories/PendleZerolendEBTCSYUpg__factory.ts +1 -1
  245. package/typechain-types/factories/Reflector__factory.ts +1 -1
  246. package/typechain-types/hardhat.d.ts +126 -0
  247. package/typechain-types/index.ts +26 -0
@@ -0,0 +1,134 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../../interfaces/IPChainlinkOracle.sol";
5
+ import "../PendleLpOracleLib.sol";
6
+
7
+ /**
8
+ * @dev The round data returned from this contract will follow:
9
+ * - There will be only one round (roundId=0)
10
+ * - startedAt=0, updatedAt=block.timestamp
11
+ */
12
+ contract PendleChainlinkOracle is IPChainlinkOracle {
13
+ error InvalidRoundId();
14
+
15
+ // solhint-disable immutable-vars-naming
16
+ address public immutable factory;
17
+
18
+ address public immutable market;
19
+ uint32 public immutable twapDuration;
20
+ PendleOracleType public immutable baseOracleType;
21
+
22
+ uint256 public immutable fromTokenScale;
23
+ uint256 public immutable toTokenScale;
24
+
25
+ function(IPMarket, uint32) internal view returns (uint256) private immutable _getRawPendlePrice;
26
+
27
+ modifier roundIdIsZero(uint80 roundId) {
28
+ if (roundId != 0) {
29
+ revert InvalidRoundId();
30
+ }
31
+ _;
32
+ }
33
+
34
+ constructor(address _market, uint32 _twapDuration, PendleOracleType _baseOracleType) {
35
+ factory = msg.sender;
36
+ market = _market;
37
+ twapDuration = _twapDuration;
38
+ baseOracleType = _baseOracleType;
39
+ (uint256 fromTokenDecimals, uint256 toTokenDecimals) = _readDecimals(_market, _baseOracleType);
40
+ (fromTokenScale, toTokenScale) = (10 ** fromTokenDecimals, 10 ** toTokenDecimals);
41
+ _getRawPendlePrice = _getRawPendlePriceFunc();
42
+ }
43
+
44
+ // =================================================================
45
+ // CHAINLINK INTERFACE
46
+ // =================================================================
47
+
48
+ /**
49
+ * @notice The round data returned from this contract will follow:
50
+ * - answer will satisfy 1 natural unit of PendleToken = (answer/1e18) natural unit of OutputToken
51
+ * - In other words, 10**(PendleToken.decimals) = (answer/1e18) * 10**(OutputToken.decimals)
52
+ * @param roundId always 0 for this contract
53
+ * @param answer The answer (in 18 decimals)
54
+ * @param startedAt always 0 for this contract
55
+ * @param updatedAt always block.timestamp for this contract
56
+ * @param answeredInRound always 0 for this contract
57
+ */
58
+ function latestRoundData()
59
+ public
60
+ view
61
+ virtual
62
+ returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
63
+ {
64
+ roundId = 0;
65
+ answer = _getPendleTokenPrice();
66
+ startedAt = 0;
67
+ updatedAt = block.timestamp;
68
+ answeredInRound = 0;
69
+ }
70
+
71
+ function getRoundData(
72
+ uint80 roundId
73
+ ) external view roundIdIsZero(roundId) returns (uint80, int256, uint256, uint256, uint80) {
74
+ return latestRoundData();
75
+ }
76
+
77
+ function decimals() external pure returns (uint8) {
78
+ return 18;
79
+ }
80
+
81
+ function description() external pure returns (string memory) {
82
+ return "Pendle Chainlink-compatible Oracle";
83
+ }
84
+
85
+ function version() external pure returns (uint256) {
86
+ return 1;
87
+ }
88
+
89
+ // =================================================================
90
+ // PRICING FUNCTIONS
91
+ // =================================================================
92
+
93
+ function _getPendleTokenPrice() internal view returns (int256) {
94
+ return _descalePrice(_getRawPendlePrice(IPMarket(market), twapDuration));
95
+ }
96
+
97
+ function _descalePrice(uint256 price) private view returns (int256 unwrappedPrice) {
98
+ return PMath.Int((price * fromTokenScale) / toTokenScale);
99
+ }
100
+
101
+ // =================================================================
102
+ // USE ONLY AT INITIALIZATION
103
+ // =================================================================
104
+
105
+ function _getRawPendlePriceFunc()
106
+ internal
107
+ view
108
+ returns (function(IPMarket, uint32) internal view returns (uint256))
109
+ {
110
+ if (baseOracleType == PendleOracleType.PT_TO_SY) {
111
+ return PendlePYOracleLib.getPtToSyRate;
112
+ } else if (baseOracleType == PendleOracleType.PT_TO_ASSET) {
113
+ return PendlePYOracleLib.getPtToAssetRate;
114
+ } else {
115
+ revert("not supported");
116
+ }
117
+ }
118
+
119
+ function _readDecimals(
120
+ address _market,
121
+ PendleOracleType _oracleType
122
+ ) internal view returns (uint8 _fromDecimals, uint8 _toDecimals) {
123
+ (IStandardizedYield SY, , ) = IPMarket(_market).readTokens();
124
+
125
+ uint8 syDecimals = SY.decimals();
126
+ (, , uint8 assetDecimals) = SY.assetInfo();
127
+
128
+ if (_oracleType == PendleOracleType.PT_TO_ASSET) {
129
+ return (assetDecimals, assetDecimals);
130
+ } else if (_oracleType == PendleOracleType.PT_TO_SY) {
131
+ return (assetDecimals, syDecimals);
132
+ }
133
+ }
134
+ }
@@ -0,0 +1,121 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "./PendleChainlinkOracle.sol";
5
+ import "./PendleChainlinkOracleWithQuote.sol";
6
+ import "../../interfaces/IPChainlinkOracleFactory.sol";
7
+ import "../../interfaces/IPPYLpOracle.sol";
8
+
9
+ contract PendleChainlinkOracleFactory is IPChainlinkOracleFactory {
10
+ error OracleAlreadyExists();
11
+
12
+ error OracleIncreaseCardinalityRequired(uint32 cardinalityRequired);
13
+ error OracleOldestObservationNotSatisfied();
14
+
15
+ // [keccak256(market, duration, baseOracleType)]
16
+ mapping(bytes32 oracleId => address oracleAddr) internal oracles;
17
+
18
+ // [keccak256(market, duration, baseOracleType, quoteOracle)]
19
+ mapping(bytes32 oracleId => address oracleAddr) internal oraclesWithQuote;
20
+
21
+ address public immutable pyLpOracle;
22
+
23
+ constructor(address _pyLpOracle) {
24
+ pyLpOracle = _pyLpOracle;
25
+ }
26
+
27
+ // =================================================================
28
+ // CREATE ORACLE
29
+ // =================================================================
30
+
31
+ function createOracle(
32
+ address market,
33
+ uint32 twapDuration,
34
+ PendleOracleType baseOracleType
35
+ ) external returns (address oracle) {
36
+ bytes32 oracleId = getOracleId(market, twapDuration, baseOracleType);
37
+ if (oracles[oracleId] != address(0)) revert OracleAlreadyExists();
38
+
39
+ checkMarketOracleState(market, twapDuration);
40
+
41
+ oracle = address(new PendleChainlinkOracle(market, twapDuration, baseOracleType));
42
+ oracles[oracleId] = oracle;
43
+ emit OracleCreated(market, twapDuration, baseOracleType, oracle, oracleId);
44
+ }
45
+
46
+ /**
47
+ * @dev quoteOracle must has Chainlink-compatible interface
48
+ */
49
+ function createOracleWithQuote(
50
+ address market,
51
+ uint32 twapDuration,
52
+ PendleOracleType baseOracleType,
53
+ address quoteOracle
54
+ ) external returns (address oracle) {
55
+ bytes32 oracleId = getOracleWithQuoteId(market, twapDuration, baseOracleType, quoteOracle);
56
+ if (oraclesWithQuote[oracleId] != address(0)) revert OracleAlreadyExists();
57
+
58
+ checkMarketOracleState(market, twapDuration);
59
+
60
+ oracle = address(new PendleChainlinkOracleWithQuote(market, twapDuration, baseOracleType, quoteOracle));
61
+ oraclesWithQuote[oracleId] = oracle;
62
+ emit OracleWithQuoteCreated(market, twapDuration, baseOracleType, quoteOracle, oracle, oracleId);
63
+ }
64
+
65
+ // =================================================================
66
+ // GET ORACLE
67
+ // =================================================================
68
+
69
+ function getOracle(
70
+ address market,
71
+ uint32 twapDuration,
72
+ PendleOracleType baseOracleType
73
+ ) public view returns (address) {
74
+ return oracles[getOracleId(market, twapDuration, baseOracleType)];
75
+ }
76
+
77
+ function getOracleWithQuote(
78
+ address market,
79
+ uint32 twapDuration,
80
+ PendleOracleType baseOracleType,
81
+ address quoteOracle
82
+ ) public view returns (address) {
83
+ return oraclesWithQuote[getOracleWithQuoteId(market, twapDuration, baseOracleType, quoteOracle)];
84
+ }
85
+
86
+ function getOracleId(
87
+ address market,
88
+ uint32 twapDuration,
89
+ PendleOracleType baseOracleType
90
+ ) public pure returns (bytes32) {
91
+ return keccak256(abi.encode(market, twapDuration, baseOracleType));
92
+ }
93
+
94
+ function getOracleWithQuoteId(
95
+ address market,
96
+ uint32 twapDuration,
97
+ PendleOracleType baseOracleType,
98
+ address quoteOracle
99
+ ) public pure returns (bytes32) {
100
+ return keccak256(abi.encode(market, twapDuration, baseOracleType, quoteOracle));
101
+ }
102
+
103
+ // =================================================================
104
+ // CHECK ORACLE STATE
105
+ // =================================================================
106
+
107
+ function checkMarketOracleState(address market, uint32 twapDuration) public view {
108
+ (bool increaseCardinalityRequired, uint32 cardinalityRequired, bool oldestObservationSatisfied) = IPPYLpOracle(
109
+ pyLpOracle
110
+ ).getOracleState(market, twapDuration);
111
+
112
+ if (increaseCardinalityRequired) {
113
+ // call IPMarket(market).increaseObservationsCardinalityNext(cardinalityRequired) then wait for twapDuration seconds
114
+ revert OracleIncreaseCardinalityRequired(cardinalityRequired);
115
+ }
116
+ if (!oldestObservationSatisfied) {
117
+ // wait for twapDuration seconds
118
+ revert OracleOldestObservationNotSatisfied();
119
+ }
120
+ }
121
+ }
@@ -0,0 +1,50 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "./PendleChainlinkOracle.sol";
5
+
6
+ /**
7
+ * @dev The round data returned from this contract will follow:
8
+ * - There will be only one round (roundId=0)
9
+ * - startedAt=0, updatedAt=quoteOracle.updatedAt()
10
+ */
11
+ contract PendleChainlinkOracleWithQuote is PendleChainlinkOracle {
12
+ // solhint-disable immutable-vars-naming
13
+ address public immutable quoteOracle;
14
+ int256 public immutable quoteScale;
15
+
16
+ constructor(
17
+ address _market,
18
+ uint32 _twapDuration,
19
+ PendleOracleType _baseOracleType,
20
+ address _quoteOracle
21
+ ) PendleChainlinkOracle(_market, _twapDuration, _baseOracleType) {
22
+ quoteOracle = _quoteOracle;
23
+ quoteScale = PMath.Int(10 ** AggregatorV3Interface(_quoteOracle).decimals());
24
+ }
25
+
26
+ /**
27
+ * @notice The round data returned from this contract will follow:
28
+ * - answer will satisfy 1 natural unit of PendleToken = (answer/1e18) natural unit of quoteToken
29
+ * - In other words, 10**(PendleToken.decimals) = (answer/1e18) * 10**(quoteToken.decimals)
30
+ * @return roundId always 0 for this contract
31
+ * @return answer The answer (in 18 decimals)
32
+ * @return startedAt always 0 for this contract
33
+ * @return updatedAt will be the same as quoteOracle.updatedAt()
34
+ * @return answeredInRound always 0 for this contract
35
+ */
36
+ function latestRoundData()
37
+ public
38
+ view
39
+ override
40
+ returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
41
+ {
42
+ (, int256 quoteAnswer, , uint256 quoteUpdatedAt, ) = AggregatorV3Interface(quoteOracle).latestRoundData();
43
+
44
+ roundId = 0;
45
+ answer = (_getPendleTokenPrice() * quoteAnswer) / quoteScale;
46
+ updatedAt = quoteUpdatedAt;
47
+ startedAt = 0;
48
+ answeredInRound = 0;
49
+ }
50
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY WBTC",
3
+ "SY": "0x59E5a339701797a55465c590b2fE484855Be1a7B",
4
+ "YT": "0x31a7308A2308CC2bCa8E1e701c53A8d8D0B55254",
5
+ "PT": "0x6E96041a7F6A3a974a90016f277fb7457a64Ef9B",
6
+ "market": "0x461CD9222e130D1dc0Bd79DAb4643952430937c1",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "64394909743000000000",
9
+ "initAnchor": "1038014324000000000",
10
+ "lnFeeRateRoot": "999500333000000",
11
+ "deployTxHash": "0xd5ab3f4625f4e33814372a52428e67364a5e0db365def81749dc903d62f444f2",
12
+ "deployBlockNumber": 21269402,
13
+ "reversedFee": 0.09999999999164011
14
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "SY sUSDS",
3
+ "SY": "0xBe3d4ec488A0a042BB86F9176C24f8CD54018BA7",
4
+ "YT": "0xe88580889A3F02a03e27f9b9c65dD43AD685fC8f",
5
+ "PT": "0x152b8629fee8105248bA3b7ba6afb94f7a468302",
6
+ "market": "0x21D85Ff3BEDFF031EF466C7d5295240C8AB2a2b8",
7
+ "expiry": 1743033600,
8
+ "scalarRoot": "66210056099000000000",
9
+ "initAnchor": "1028441141000000000",
10
+ "lnFeeRateRoot": "499875041000000",
11
+ "reversedFee": 0.04999999993486881
12
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY USD0++",
3
+ "SY": "0x52453825c287dDef62D647ce51C0979D27c461f7",
4
+ "YT": "0xEAD01319c2aB0dC2C690EfF5DfC5f465Cd38FC87",
5
+ "PT": "0xf696FE29Ef85E892b5926313897D178288faA07e",
6
+ "market": "0x048680F64d6DFf1748ba6D9a01F578433787e24B",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "25840344753000000000",
9
+ "initAnchor": "1094579386000000000",
10
+ "lnFeeRateRoot": "1998002662000000",
11
+ "deployTxHash": "0x84d55092d8c0a23fb5ee3801d2ed904685eb2cc289338a58aed49accac686ab9",
12
+ "deployBlockNumber": 21220847,
13
+ "reversedFee": 0.19999999993256523
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY gUSDC",
3
+ "SY": "0x0a9eD458E6c283D1E84237e3347333Aa08221d09",
4
+ "YT": "0xeb044f64aE0dFD5433726fC5418d6643897cbb6B",
5
+ "PT": "0x0b6121b4c00ca4FbBb6516C11eB4BF61722E0f8d",
6
+ "market": "0x22e0F26320aCE985e3CB2434095F18Bfe114E28e",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "21136461043000000000",
9
+ "initAnchor": "1094191809000000000",
10
+ "lnFeeRateRoot": "1998002662000000",
11
+ "deployTxHash": "0xab4a74917f0c839df3b13f6eb81e4286f2c3dcbf268ef51be4cf3a85f658c7ac",
12
+ "deployBlockNumber": 276038148,
13
+ "reversedFee": 0.19999999993256523
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY MUX",
3
+ "SY": "0x5220E1Ef8CE83Aa9fE0CCE1b8395cD698d04bc7E",
4
+ "YT": "0xa661223676633a701B3D1E51bd8c47e2Da07C1f6",
5
+ "PT": "0x9D8eADeb4e7311e340A5EE39DbF62d7694F1aa85",
6
+ "market": "0xF1De71573Ee482f13AE4DcF980e83bFAba8b233d",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "23175451492000000000",
9
+ "initAnchor": "1088578948000000000",
10
+ "lnFeeRateRoot": "1998002662000000",
11
+ "deployTxHash": "0x3500a5b6f2145e7172c6fe3a814a455b512be2b5822df332b0f4e90b2564168e",
12
+ "deployBlockNumber": 276038060,
13
+ "reversedFee": 0.19999999993256523
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY cbETH",
3
+ "SY": "0x75372F72EC752a761E96Cbcb3395f4b9586d9aFd",
4
+ "YT": "0xf9dA8F69D518d7f6488179014f475E843EE2DefD",
5
+ "PT": "0xE46c8bA948f8071b425a1f7Ba45c0a65CBAcea2e",
6
+ "market": "0x483f2e223c58a5eF19c4B32fbC6dE57709749cb3",
7
+ "expiry": 1766620800,
8
+ "scalarRoot": "146013418776000000000",
9
+ "initAnchor": "1038333098000000000",
10
+ "lnFeeRateRoot": "499875041000000",
11
+ "deployTxHash": "0x69c5a2b100f19a52dbc6346127e9970426df36da60407654e6b90fd8f0c7b96f",
12
+ "deployBlockNumber": 22727510,
13
+ "reversedFee": 0.04999999993486881
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY LBTC",
3
+ "SY": "0xB261266Cb30c255CB9c73EBf4A3eaD9398D23AB4",
4
+ "YT": "0x5fd84c3dd5C00Ab9E04bd94685B55e8Dd0c1e3fD",
5
+ "PT": "0x5d746848005507DA0b1717C137A10C30AD9ee307",
6
+ "market": "0x727cEbAcfb10fFd353Fc221D06A862B437eC1735",
7
+ "expiry": 1748476800,
8
+ "scalarRoot": "99858759456000000000",
9
+ "initAnchor": "1024261630000000000",
10
+ "lnFeeRateRoot": "999500333000000",
11
+ "deployTxHash": "0x2b7ca2264698cbd59e9699296bbc8827344008b483674de81d940b463fab1556",
12
+ "deployBlockNumber": 22920673,
13
+ "reversedFee": 0.09999999999164011
14
+ }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "5.2.0",
5
+ "version": "5.2.1",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -33,6 +33,7 @@ export interface IERC4626Interface extends utils.Interface {
33
33
  "convertToShares(uint256)": FunctionFragment;
34
34
  "decimals()": FunctionFragment;
35
35
  "deposit(uint256,address)": FunctionFragment;
36
+ "maxMint(address)": FunctionFragment;
36
37
  "name()": FunctionFragment;
37
38
  "previewDeposit(uint256)": FunctionFragment;
38
39
  "previewRedeem(uint256)": FunctionFragment;
@@ -67,6 +68,7 @@ export interface IERC4626Interface extends utils.Interface {
67
68
  functionFragment: "deposit",
68
69
  values: [BigNumberish, string]
69
70
  ): string;
71
+ encodeFunctionData(functionFragment: "maxMint", values: [string]): string;
70
72
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
71
73
  encodeFunctionData(
72
74
  functionFragment: "previewDeposit",
@@ -112,6 +114,7 @@ export interface IERC4626Interface extends utils.Interface {
112
114
  ): Result;
113
115
  decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
114
116
  decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
117
+ decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result;
115
118
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
116
119
  decodeFunctionResult(
117
120
  functionFragment: "previewDeposit",
@@ -222,6 +225,8 @@ export interface IERC4626 extends BaseContract {
222
225
  overrides?: Overrides & { from?: string | Promise<string> }
223
226
  ): Promise<ContractTransaction>;
224
227
 
228
+ maxMint(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>;
229
+
225
230
  name(overrides?: CallOverrides): Promise<[string]>;
226
231
 
227
232
  previewDeposit(
@@ -295,6 +300,8 @@ export interface IERC4626 extends BaseContract {
295
300
  overrides?: Overrides & { from?: string | Promise<string> }
296
301
  ): Promise<ContractTransaction>;
297
302
 
303
+ maxMint(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
304
+
298
305
  name(overrides?: CallOverrides): Promise<string>;
299
306
 
300
307
  previewDeposit(
@@ -368,6 +375,8 @@ export interface IERC4626 extends BaseContract {
368
375
  overrides?: CallOverrides
369
376
  ): Promise<BigNumber>;
370
377
 
378
+ maxMint(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
379
+
371
380
  name(overrides?: CallOverrides): Promise<string>;
372
381
 
373
382
  previewDeposit(
@@ -466,6 +475,8 @@ export interface IERC4626 extends BaseContract {
466
475
  overrides?: Overrides & { from?: string | Promise<string> }
467
476
  ): Promise<BigNumber>;
468
477
 
478
+ maxMint(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
479
+
469
480
  name(overrides?: CallOverrides): Promise<BigNumber>;
470
481
 
471
482
  previewDeposit(
@@ -543,6 +554,11 @@ export interface IERC4626 extends BaseContract {
543
554
  overrides?: Overrides & { from?: string | Promise<string> }
544
555
  ): Promise<PopulatedTransaction>;
545
556
 
557
+ maxMint(
558
+ arg0: string,
559
+ overrides?: CallOverrides
560
+ ): Promise<PopulatedTransaction>;
561
+
546
562
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
547
563
 
548
564
  previewDeposit(
@@ -0,0 +1,159 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PopulatedTransaction,
13
+ Signer,
14
+ utils,
15
+ } from "ethers";
16
+ import { FunctionFragment, Result } from "@ethersproject/abi";
17
+ import { Listener, Provider } from "@ethersproject/providers";
18
+ import type {
19
+ TypedEventFilter,
20
+ TypedEvent,
21
+ TypedListener,
22
+ OnEvent,
23
+ } from "./common";
24
+
25
+ export interface ILBTCMinterBaseInterface extends utils.Interface {
26
+ contractName: "ILBTCMinterBase";
27
+ functions: {
28
+ "relativeFee()": FunctionFragment;
29
+ "remainingStake()": FunctionFragment;
30
+ "stakeLimit()": FunctionFragment;
31
+ "swapCBBTCToLBTC(uint256)": FunctionFragment;
32
+ };
33
+
34
+ encodeFunctionData(
35
+ functionFragment: "relativeFee",
36
+ values?: undefined
37
+ ): string;
38
+ encodeFunctionData(
39
+ functionFragment: "remainingStake",
40
+ values?: undefined
41
+ ): string;
42
+ encodeFunctionData(
43
+ functionFragment: "stakeLimit",
44
+ values?: undefined
45
+ ): string;
46
+ encodeFunctionData(
47
+ functionFragment: "swapCBBTCToLBTC",
48
+ values: [BigNumberish]
49
+ ): string;
50
+
51
+ decodeFunctionResult(
52
+ functionFragment: "relativeFee",
53
+ data: BytesLike
54
+ ): Result;
55
+ decodeFunctionResult(
56
+ functionFragment: "remainingStake",
57
+ data: BytesLike
58
+ ): Result;
59
+ decodeFunctionResult(functionFragment: "stakeLimit", data: BytesLike): Result;
60
+ decodeFunctionResult(
61
+ functionFragment: "swapCBBTCToLBTC",
62
+ data: BytesLike
63
+ ): Result;
64
+
65
+ events: {};
66
+ }
67
+
68
+ export interface ILBTCMinterBase extends BaseContract {
69
+ contractName: "ILBTCMinterBase";
70
+ connect(signerOrProvider: Signer | Provider | string): this;
71
+ attach(addressOrName: string): this;
72
+ deployed(): Promise<this>;
73
+
74
+ interface: ILBTCMinterBaseInterface;
75
+
76
+ queryFilter<TEvent extends TypedEvent>(
77
+ event: TypedEventFilter<TEvent>,
78
+ fromBlockOrBlockhash?: string | number | undefined,
79
+ toBlock?: string | number | undefined
80
+ ): Promise<Array<TEvent>>;
81
+
82
+ listeners<TEvent extends TypedEvent>(
83
+ eventFilter?: TypedEventFilter<TEvent>
84
+ ): Array<TypedListener<TEvent>>;
85
+ listeners(eventName?: string): Array<Listener>;
86
+ removeAllListeners<TEvent extends TypedEvent>(
87
+ eventFilter: TypedEventFilter<TEvent>
88
+ ): this;
89
+ removeAllListeners(eventName?: string): this;
90
+ off: OnEvent<this>;
91
+ on: OnEvent<this>;
92
+ once: OnEvent<this>;
93
+ removeListener: OnEvent<this>;
94
+
95
+ functions: {
96
+ relativeFee(overrides?: CallOverrides): Promise<[number]>;
97
+
98
+ remainingStake(overrides?: CallOverrides): Promise<[BigNumber]>;
99
+
100
+ stakeLimit(overrides?: CallOverrides): Promise<[BigNumber]>;
101
+
102
+ swapCBBTCToLBTC(
103
+ amount: BigNumberish,
104
+ overrides?: Overrides & { from?: string | Promise<string> }
105
+ ): Promise<ContractTransaction>;
106
+ };
107
+
108
+ relativeFee(overrides?: CallOverrides): Promise<number>;
109
+
110
+ remainingStake(overrides?: CallOverrides): Promise<BigNumber>;
111
+
112
+ stakeLimit(overrides?: CallOverrides): Promise<BigNumber>;
113
+
114
+ swapCBBTCToLBTC(
115
+ amount: BigNumberish,
116
+ overrides?: Overrides & { from?: string | Promise<string> }
117
+ ): Promise<ContractTransaction>;
118
+
119
+ callStatic: {
120
+ relativeFee(overrides?: CallOverrides): Promise<number>;
121
+
122
+ remainingStake(overrides?: CallOverrides): Promise<BigNumber>;
123
+
124
+ stakeLimit(overrides?: CallOverrides): Promise<BigNumber>;
125
+
126
+ swapCBBTCToLBTC(
127
+ amount: BigNumberish,
128
+ overrides?: CallOverrides
129
+ ): Promise<void>;
130
+ };
131
+
132
+ filters: {};
133
+
134
+ estimateGas: {
135
+ relativeFee(overrides?: CallOverrides): Promise<BigNumber>;
136
+
137
+ remainingStake(overrides?: CallOverrides): Promise<BigNumber>;
138
+
139
+ stakeLimit(overrides?: CallOverrides): Promise<BigNumber>;
140
+
141
+ swapCBBTCToLBTC(
142
+ amount: BigNumberish,
143
+ overrides?: Overrides & { from?: string | Promise<string> }
144
+ ): Promise<BigNumber>;
145
+ };
146
+
147
+ populateTransaction: {
148
+ relativeFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
149
+
150
+ remainingStake(overrides?: CallOverrides): Promise<PopulatedTransaction>;
151
+
152
+ stakeLimit(overrides?: CallOverrides): Promise<PopulatedTransaction>;
153
+
154
+ swapCBBTCToLBTC(
155
+ amount: BigNumberish,
156
+ overrides?: Overrides & { from?: string | Promise<string> }
157
+ ): Promise<PopulatedTransaction>;
158
+ };
159
+ }