@pendle/core-v2 5.2.0 → 5.2.1-beta-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 (235) 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/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.json +2 -2
  26. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.json +2 -2
  28. package/build/artifacts/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol/PendleMorphoMetaVaultSY.dbg.json +4 -0
  29. package/build/artifacts/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol/PendleMorphoMetaVaultSY.json +1052 -0
  30. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol/PendleERC4626NotRedeemableToAssetSY.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol/PendleERC4626NotRedeemableToAssetSY.json +2 -2
  32. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  34. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol/PendleERC4626SYV2.dbg.json +4 -0
  35. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol/PendleERC4626SYV2.json +1026 -0
  36. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
  38. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol/PendleERC4626SYUpg.dbg.json +4 -0
  39. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol/PendleERC4626SYUpg.json +1000 -0
  40. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol/PendleSUSDSSY.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol/PendleSUSDSSY.json +2 -2
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol/PendleSyrupSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol/PendleSyrupSY.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.json +2 -2
  54. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  55. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
  56. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  57. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +196 -0
  58. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  59. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  60. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +196 -78
  61. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  62. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.json +196 -0
  63. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  64. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +196 -0
  65. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  66. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.json +196 -0
  67. package/build/artifacts/contracts/interfaces/IPActionSwapLimitV3.sol/IPActionSwapLimitV3.dbg.json +4 -0
  68. package/build/artifacts/contracts/interfaces/IPActionSwapLimitV3.sol/IPActionSwapLimitV3.json +2638 -0
  69. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +196 -0
  71. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +196 -0
  73. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +1220 -48
  75. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapLimitV3Events.dbg.json +4 -0
  79. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapLimitV3Events.json +207 -0
  80. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.json +196 -0
  84. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +196 -0
  86. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  88. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  89. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  90. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  91. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  92. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  93. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  94. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  95. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  96. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  97. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  98. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  99. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +198 -2
  100. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  101. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  102. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  103. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  104. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +198 -2
  105. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  106. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +198 -80
  107. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  108. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +198 -2
  109. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  110. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +198 -2
  111. package/build/artifacts/contracts/router/ActionSwapLimitV3.sol/ActionSwapLimitV3.dbg.json +4 -0
  112. package/build/artifacts/contracts/router/ActionSwapLimitV3.sol/ActionSwapLimitV3.json +2638 -0
  113. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  114. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +198 -2
  115. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  116. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +198 -2
  117. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  118. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  119. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  120. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  121. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  122. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  123. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  124. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  125. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  126. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  127. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  128. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  129. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  130. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  131. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  132. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  133. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  134. package/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol +21 -0
  135. package/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol +0 -1
  136. package/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol +88 -0
  137. package/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol +83 -0
  138. package/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol +2 -1
  139. package/contracts/interfaces/IERC4626.sol +2 -0
  140. package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +6 -6
  141. package/contracts/interfaces/IPActionMiscV3.sol +2 -8
  142. package/contracts/interfaces/IPActionSwapLimitV3.sol +42 -0
  143. package/contracts/interfaces/IPActionSwapPTV3.sol +4 -4
  144. package/contracts/interfaces/IPActionSwapYTV3.sol +4 -4
  145. package/contracts/interfaces/IPAllActionTypeV3.sol +4 -0
  146. package/contracts/interfaces/IPAllActionV3.sol +3 -1
  147. package/contracts/interfaces/IPAllEventsV3.sol +44 -1
  148. package/contracts/router/ActionAddRemoveLiqV3.sol +9 -9
  149. package/contracts/router/ActionMiscV3.sol +3 -17
  150. package/contracts/router/ActionSwapLimitV3.sol +126 -0
  151. package/contracts/router/ActionSwapPTV3.sol +4 -4
  152. package/contracts/router/ActionSwapYTV3.sol +4 -4
  153. package/contracts/router/base/ActionBase.sol +35 -12
  154. package/contracts/router/base/ActionDelegateBase.sol +1 -1
  155. package/deployments/1-core.json +1 -1
  156. package/deployments/1-markets/SUSDS-MAINNET-MAR2025-RELAUNCH.json +12 -0
  157. package/deployments/1-markets/USD0++-MAINNET-JUN2025.json +14 -0
  158. package/deployments/42161-markets/GUSDC-ARBITRUM-JUN2025.json +14 -0
  159. package/deployments/42161-markets/MUXLP-ARBITRUM-JUN2025.json +14 -0
  160. package/package.json +1 -1
  161. package/typechain-types/ActionAddRemoveLiqV3.ts +148 -0
  162. package/typechain-types/ActionMiscV3.ts +148 -44
  163. package/typechain-types/ActionSimple.ts +148 -0
  164. package/typechain-types/ActionStorageStatic.ts +148 -0
  165. package/typechain-types/ActionStorageV4.ts +148 -0
  166. package/typechain-types/ActionSwapPTV3.ts +148 -0
  167. package/typechain-types/ActionSwapYTV3.ts +148 -0
  168. package/typechain-types/IERC4626.ts +16 -0
  169. package/typechain-types/IPActionAddRemoveLiqV3.ts +148 -0
  170. package/typechain-types/IPActionMiscV3.ts +148 -44
  171. package/typechain-types/IPActionSimple.ts +148 -0
  172. package/typechain-types/IPActionStorageStatic.ts +148 -0
  173. package/typechain-types/IPActionStorageV4.ts +148 -0
  174. package/typechain-types/IPActionSwapPTV3.ts +148 -0
  175. package/typechain-types/IPActionSwapYTV3.ts +148 -0
  176. package/typechain-types/IPAllActionV3.ts +390 -20
  177. package/typechain-types/IPAllEventsV3.ts +148 -0
  178. package/typechain-types/IPRouterStatic.ts +148 -0
  179. package/typechain-types/PendleERC4626SYV2.ts +1281 -0
  180. package/typechain-types/PendleMorphoMetaVaultSY.ts +1323 -0
  181. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +197 -1
  182. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  183. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  184. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  185. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  186. package/typechain-types/factories/ActionMiscV3__factory.ts +197 -79
  187. package/typechain-types/factories/ActionSimple__factory.ts +197 -1
  188. package/typechain-types/factories/ActionStorageStatic__factory.ts +197 -1
  189. package/typechain-types/factories/ActionStorageV4__factory.ts +197 -1
  190. package/typechain-types/factories/ActionSwapLimitV3__factory.ts +1 -1
  191. package/typechain-types/factories/ActionSwapPTV3__factory.ts +197 -1
  192. package/typechain-types/factories/ActionSwapYTV3__factory.ts +197 -1
  193. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  194. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  195. package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +196 -0
  196. package/typechain-types/factories/IPActionMiscV3__factory.ts +196 -78
  197. package/typechain-types/factories/IPActionSimple__factory.ts +196 -0
  198. package/typechain-types/factories/IPActionStorageStatic__factory.ts +196 -0
  199. package/typechain-types/factories/IPActionStorageV4__factory.ts +196 -0
  200. package/typechain-types/factories/IPActionSwapPTV3__factory.ts +196 -0
  201. package/typechain-types/factories/IPActionSwapYTV3__factory.ts +196 -0
  202. package/typechain-types/factories/IPAllActionV3__factory.ts +1220 -48
  203. package/typechain-types/factories/IPAllEventsV3__factory.ts +196 -0
  204. package/typechain-types/factories/IPRouterStatic__factory.ts +196 -0
  205. package/typechain-types/factories/PendleAgETHSY__factory.ts +1 -1
  206. package/typechain-types/factories/PendleAmphorWstETHVaultSY__factory.ts +1 -1
  207. package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
  208. package/typechain-types/factories/PendleERC4626NotRedeemableToAssetSY__factory.ts +1 -1
  209. package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
  210. package/typechain-types/factories/PendleERC4626SYV2__factory.ts +1095 -0
  211. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  212. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  213. package/typechain-types/factories/PendleGTokenSY__factory.ts +1 -1
  214. package/typechain-types/factories/PendleGUSDCSY__factory.ts +1 -1
  215. package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1 -1
  216. package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1 -1
  217. package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1 -1
  218. package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1 -1
  219. package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1 -1
  220. package/typechain-types/factories/PendleMellowVaultERC4626SYUpg__factory.ts +1 -1
  221. package/typechain-types/factories/PendleMorphoMetaVaultSY__factory.ts +1125 -0
  222. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  223. package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
  224. package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
  225. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  226. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  227. package/typechain-types/factories/PendleSENASY__factory.ts +1 -1
  228. package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
  229. package/typechain-types/factories/PendleSUSDSSY__factory.ts +1 -1
  230. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  231. package/typechain-types/factories/PendleSyrupSY__factory.ts +1 -1
  232. package/typechain-types/factories/PendleZerolendEBTCSYUpg__factory.ts +1 -1
  233. package/typechain-types/factories/Reflector__factory.ts +1 -1
  234. package/typechain-types/hardhat.d.ts +54 -0
  235. package/typechain-types/index.ts +10 -0
@@ -27,8 +27,8 @@
27
27
  "type": "receive"
28
28
  }
29
29
  ],
30
- "bytecode": "0x608060405234801561001057600080fd5b506117f1806100206000396000f3fe6080604052600436106100225760003560e01c8063ef4093631461002e57600080fd5b3661002957005b600080fd5b34801561003a57600080fd5b5061004e610049366004610b05565b610064565b60405161005b9190610bc6565b60405180910390f35b60606000806100738585610103565b91509150600073888888888889758f76e7103c6cbf23abbf58f9466001600160a01b031683836040516100a69190610be0565b60006040518083038185875af1925050503d80600081146100e3576040519150601f19603f3d011682016040523d82523d6000602084013e6100e8565b606091505b5094509050806100fa57835184602001fd5b50505092915050565b60006060816101156004828688610bfc565b61011e91610c26565b9050366000610130866004818a610bfc565b90925090506001600160e01b0319831663092ccd6360e11b148061016457506001600160e01b0319831663640fc23d60e11b145b8061017f57506001600160e01b031983166376a4483f60e11b145b1561020a5760008080808080610197878901896111a5565b9550955095509550955095506101ac8261042e565b9a50888686868686866040516024016101ca96959493929190611501565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152995061042495505050505050565b63c241e3ab60e01b6001600160e01b03198416016102a25760008080808061023486880188611563565b945094509450945094506102478161042e565b99508785858585856040516024016102639594939291906115d8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529850610424945050505050565b6001600160e01b031983166358bda47560e01b14806102d157506001600160e01b03198316630a94245f60e21b145b806102ec57506001600160e01b03198316637b8b4b9560e01b145b156103325760008080808061030386880188611612565b955095509550509450945087858561031a87610559565b8686866040516024016102639695949392919061168c565b633dde3dab60e11b6001600160e01b03198416016103e057600080808061035b858701876116d3565b94509450509350935086848461037086610559565b6040516001600160a01b03938416602482015292909116604483015260648201526084810184905260a4810183905260c40160408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915297506104249350505050565b60405162461bcd60e51b81526020600482015260146024820152732aa729aaa82827a92a22a22fa9a2a622a1aa27a960611b60448201526064015b60405180910390fd5b5050509250929050565b600080608083015151600381111561044857610448611287565b1415801561046d57506003608083015151600381111561046a5761046a611287565b14155b156104bb578160800151606001516104bb5760405162461bcd60e51b815260206004820152601160248201527014d0d0531157d254d7d491545552549151607a1b604482015260640161041b565b81516104c6906106a7565b602083015281516001600160a01b03166104e257506020015190565b81516001600160a01b031660009081526020819052604090205460ff1661055457815161052f906001600160a01b031673888888888889758f76e7103c6cbf23abbf58f946600019610732565b81516001600160a01b03166000908152602081905260409020805460ff191660011790555b919050565b600080826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561059a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105be9190611724565b50506040516370a0823160e01b81529091506001600160a01b038216906370a08231906105ef903090600401611771565b602060405180830381865afa15801561060c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106309190611785565b6001600160a01b03821660009081526020819052604090205490925060ff166106a15761067d6001600160a01b03821673888888888889758f76e7103c6cbf23abbf58f946600019610732565b6001600160a01b0381166000908152602081905260409020805460ff191660011790555b50919050565b60006001600160a01b0382161561072a576040516370a0823160e01b81526001600160a01b038316906370a08231906106e4903090600401611771565b602060405180830381865afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107259190611785565b61072c565b475b92915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261078384826107ec565b6107e657604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526107dc90859061088e565b6107e6848261088e565b50505050565b6000806000846001600160a01b0316846040516108099190610be0565b6000604051808303816000865af19150503d8060008114610846576040519150601f19603f3d011682016040523d82523d6000602084013e61084b565b606091505b5091509150818015610875575080511580610875575080806020019051810190610875919061179e565b8015610885575061088585610968565b95945050505050565b60006108e3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109779092919063ffffffff16565b9050805160001480610904575080806020019051810190610904919061179e565b6109635760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161041b565b505050565b6001600160a01b03163b151590565b6060610986848460008561098e565b949350505050565b6060824710156109ef5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161041b565b600080866001600160a01b03168587604051610a0b9190610be0565b60006040518083038185875af1925050503d8060008114610a48576040519150601f19603f3d011682016040523d82523d6000602084013e610a4d565b606091505b5091509150610a5e87838387610a69565b979650505050505050565b60608315610ad6578251600003610acf57610a8385610968565b610acf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161041b565b5081610986565b6109868383815115610aeb5781518083602001fd5b8060405162461bcd60e51b815260040161041b9190610bc6565b60008060208385031215610b1857600080fd5b82356001600160401b0380821115610b2f57600080fd5b818501915085601f830112610b4357600080fd5b813581811115610b5257600080fd5b866020828501011115610b6457600080fd5b60209290920196919550909350505050565b60005b83811015610b91578181015183820152602001610b79565b50506000910152565b60008151808452610bb2816020860160208601610b76565b601f01601f19169290920160200192915050565b602081526000610bd96020830184610b9a565b9392505050565b60008251610bf2818460208701610b76565b9190910192915050565b60008085851115610c0c57600080fd5b83861115610c1957600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015610c4e5780818660040360031b1b83161692505b505092915050565b6001600160a01b0381168114610c6b57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b0381118282101715610ca657610ca6610c6e565b60405290565b604051608081016001600160401b0381118282101715610ca657610ca6610c6e565b604051606081016001600160401b0381118282101715610ca657610ca6610c6e565b60405161018081016001600160401b0381118282101715610ca657610ca6610c6e565b604051601f8201601f191681016001600160401b0381118282101715610d3b57610d3b610c6e565b604052919050565b600060a08284031215610d5557600080fd5b610d5d610c84565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b803561055481610c56565b60048110610c6b57600080fd5b803561055481610d9c565b600082601f830112610dc557600080fd5b81356001600160401b03811115610dde57610dde610c6e565b610df1601f8201601f1916602001610d13565b818152846020838601011115610e0657600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610c6b57600080fd5b600060a08284031215610e4357600080fd5b610e4b610c84565b90508135610e5881610c56565b8152602082810135908201526040820135610e7281610c56565b60408201526060820135610e8581610c56565b606082015260808201356001600160401b0380821115610ea457600080fd5b9083019060808286031215610eb857600080fd5b610ec0610cac565b8235610ecb81610d9c565b81526020830135610edb81610c56565b6020820152604083013582811115610ef257600080fd5b610efe87828601610db4565b60408301525060608301359250610f1483610e23565b606081019290925250608082015292915050565b600082601f830112610f3957600080fd5b813560206001600160401b0380831115610f5557610f55610c6e565b8260051b610f64838201610d13565b9384528581018301938381019088861115610f7e57600080fd5b84880192505b858310156110eb57823584811115610f9b57600080fd5b8801601f196060828c0382011215610fb257600080fd5b610fba610cce565b8783013587811115610fcb57600080fd5b8301610180818e0384011215610fe057600080fd5b610fe8610cf0565b92508881013583526040810135898401526060810135604084015261100f60808201610da9565b606084015261102060a08201610d91565b608084015261103160c08201610d91565b60a084015261104260e08201610d91565b60c0840152610100611055818301610d91565b60e085015261012080830135828601526101409150818301358186015250610160808301358286015261018083013591508982111561109357600080fd5b6110a18f8c84860101610db4565b908501525050908152604082013590868211156110bd57600080fd5b6110cb8c8984860101610db4565b818901526060929092013560408301525082529184019190840190610f84565b98975050505050505050565b600060a0828403121561110957600080fd5b611111610c84565b905061111c82610d91565b81526020828101359082015260408201356001600160401b038082111561114257600080fd5b61114e85838601610f28565b6040840152606084013591508082111561116757600080fd5b61117385838601610f28565b6060840152608084013591508082111561118c57600080fd5b5061119984828501610db4565b60808301525092915050565b60008060008060008061014087890312156111bf57600080fd5b86356111ca81610c56565b955060208701356111da81610c56565b9450604087013593506111f08860608901610d43565b92506101008701356001600160401b038082111561120d57600080fd5b6112198a838b01610e31565b935061012089013591508082111561123057600080fd5b5061123d89828a016110f7565b9150509295509295509295565b6001600160a01b03169052565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b634e487b7160e01b600052602160045260246000fd5b60048110610c6b57634e487b7160e01b600052602160045260246000fd5b600060018060a01b0380835116845260208301516020850152806040840151166040850152806060840151166060850152608083015160a0608086015280516113038161129d565b60a0860152602081015190911660c08501526040810151608060e086015290611330610120860183610b9a565b915060608101511515610100860152508091505092915050565b6113538161129d565b9052565b600082825180855260208086019550808260051b84010181860160005b8481101561149057601f198684030189528151606081518186528051828701528681015160808181890152604091508183015160a081818b015285850151955060c091506113c4828b018761134a565b91840151945060e0916113d98a84018761124a565b84015194506101006113ed8a82018761124a565b908401519450610120906114038a83018761124a565b918401519450610140916114198a84018761124a565b8401516101608a81019190915290840151610180808b0191909152918401516101a08a01528301516101c0890191909152925061145a6101e0880184610b9a565b9250878401519150868303888801526114738383610b9a565b938101519601959095525098840198925090830190600101611374565b5090979650505050505050565b60018060a01b038151168252602081015160208301526000604082015160a060408501526114ce60a0850182611357565b9050606083015184820360608601526114e78282611357565b915050608083015184820360808601526108858282610b9a565b6001600160a01b0387811682528616602082015260408101859052600061014061152e6060840187611257565b80610100840152611541818401866112bb565b9050828103610120840152611556818561149d565b9998505050505050505050565b600080600080600060a0868803121561157b57600080fd5b853561158681610c56565b9450602086013561159681610c56565b9350604086013592506060860135915060808601356001600160401b038111156115bf57600080fd5b6115cb88828901610e31565b9150509295509295909350565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090610a5e908301846112bb565b600080600080600080610140878903121561162c57600080fd5b863561163781610c56565b9550602087013561164781610c56565b945060408701359350606087013592506116648860808901610d43565b91506101208701356001600160401b0381111561168057600080fd5b61123d89828a016110f7565b6001600160a01b03878116825286166020820152604081018590526060810184905260006101406116c06080840186611257565b806101208401526115568184018561149d565b600080600080600060a086880312156116eb57600080fd5b85356116f681610c56565b9450602086013561170681610c56565b94979496505050506040830135926060810135926080909101359150565b60008060006060848603121561173957600080fd5b835161174481610c56565b602085015190935061175581610c56565b604085015190925061176681610c56565b809150509250925092565b6001600160a01b0391909116815260200190565b60006020828403121561179757600080fd5b5051919050565b6000602082840312156117b057600080fd5b8151610bd981610e2356fea264697066735822122077d808a0828c3ad4d0ad20e6a94af00f7b92e0df7c7db1de76568831af3c06ba64736f6c63430008170033",
31
- "deployedBytecode": "0x6080604052600436106100225760003560e01c8063ef4093631461002e57600080fd5b3661002957005b600080fd5b34801561003a57600080fd5b5061004e610049366004610b05565b610064565b60405161005b9190610bc6565b60405180910390f35b60606000806100738585610103565b91509150600073888888888889758f76e7103c6cbf23abbf58f9466001600160a01b031683836040516100a69190610be0565b60006040518083038185875af1925050503d80600081146100e3576040519150601f19603f3d011682016040523d82523d6000602084013e6100e8565b606091505b5094509050806100fa57835184602001fd5b50505092915050565b60006060816101156004828688610bfc565b61011e91610c26565b9050366000610130866004818a610bfc565b90925090506001600160e01b0319831663092ccd6360e11b148061016457506001600160e01b0319831663640fc23d60e11b145b8061017f57506001600160e01b031983166376a4483f60e11b145b1561020a5760008080808080610197878901896111a5565b9550955095509550955095506101ac8261042e565b9a50888686868686866040516024016101ca96959493929190611501565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152995061042495505050505050565b63c241e3ab60e01b6001600160e01b03198416016102a25760008080808061023486880188611563565b945094509450945094506102478161042e565b99508785858585856040516024016102639594939291906115d8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529850610424945050505050565b6001600160e01b031983166358bda47560e01b14806102d157506001600160e01b03198316630a94245f60e21b145b806102ec57506001600160e01b03198316637b8b4b9560e01b145b156103325760008080808061030386880188611612565b955095509550509450945087858561031a87610559565b8686866040516024016102639695949392919061168c565b633dde3dab60e11b6001600160e01b03198416016103e057600080808061035b858701876116d3565b94509450509350935086848461037086610559565b6040516001600160a01b03938416602482015292909116604483015260648201526084810184905260a4810183905260c40160408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915297506104249350505050565b60405162461bcd60e51b81526020600482015260146024820152732aa729aaa82827a92a22a22fa9a2a622a1aa27a960611b60448201526064015b60405180910390fd5b5050509250929050565b600080608083015151600381111561044857610448611287565b1415801561046d57506003608083015151600381111561046a5761046a611287565b14155b156104bb578160800151606001516104bb5760405162461bcd60e51b815260206004820152601160248201527014d0d0531157d254d7d491545552549151607a1b604482015260640161041b565b81516104c6906106a7565b602083015281516001600160a01b03166104e257506020015190565b81516001600160a01b031660009081526020819052604090205460ff1661055457815161052f906001600160a01b031673888888888889758f76e7103c6cbf23abbf58f946600019610732565b81516001600160a01b03166000908152602081905260409020805460ff191660011790555b919050565b600080826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561059a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105be9190611724565b50506040516370a0823160e01b81529091506001600160a01b038216906370a08231906105ef903090600401611771565b602060405180830381865afa15801561060c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106309190611785565b6001600160a01b03821660009081526020819052604090205490925060ff166106a15761067d6001600160a01b03821673888888888889758f76e7103c6cbf23abbf58f946600019610732565b6001600160a01b0381166000908152602081905260409020805460ff191660011790555b50919050565b60006001600160a01b0382161561072a576040516370a0823160e01b81526001600160a01b038316906370a08231906106e4903090600401611771565b602060405180830381865afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107259190611785565b61072c565b475b92915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261078384826107ec565b6107e657604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526107dc90859061088e565b6107e6848261088e565b50505050565b6000806000846001600160a01b0316846040516108099190610be0565b6000604051808303816000865af19150503d8060008114610846576040519150601f19603f3d011682016040523d82523d6000602084013e61084b565b606091505b5091509150818015610875575080511580610875575080806020019051810190610875919061179e565b8015610885575061088585610968565b95945050505050565b60006108e3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109779092919063ffffffff16565b9050805160001480610904575080806020019051810190610904919061179e565b6109635760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161041b565b505050565b6001600160a01b03163b151590565b6060610986848460008561098e565b949350505050565b6060824710156109ef5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161041b565b600080866001600160a01b03168587604051610a0b9190610be0565b60006040518083038185875af1925050503d8060008114610a48576040519150601f19603f3d011682016040523d82523d6000602084013e610a4d565b606091505b5091509150610a5e87838387610a69565b979650505050505050565b60608315610ad6578251600003610acf57610a8385610968565b610acf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161041b565b5081610986565b6109868383815115610aeb5781518083602001fd5b8060405162461bcd60e51b815260040161041b9190610bc6565b60008060208385031215610b1857600080fd5b82356001600160401b0380821115610b2f57600080fd5b818501915085601f830112610b4357600080fd5b813581811115610b5257600080fd5b866020828501011115610b6457600080fd5b60209290920196919550909350505050565b60005b83811015610b91578181015183820152602001610b79565b50506000910152565b60008151808452610bb2816020860160208601610b76565b601f01601f19169290920160200192915050565b602081526000610bd96020830184610b9a565b9392505050565b60008251610bf2818460208701610b76565b9190910192915050565b60008085851115610c0c57600080fd5b83861115610c1957600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015610c4e5780818660040360031b1b83161692505b505092915050565b6001600160a01b0381168114610c6b57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b0381118282101715610ca657610ca6610c6e565b60405290565b604051608081016001600160401b0381118282101715610ca657610ca6610c6e565b604051606081016001600160401b0381118282101715610ca657610ca6610c6e565b60405161018081016001600160401b0381118282101715610ca657610ca6610c6e565b604051601f8201601f191681016001600160401b0381118282101715610d3b57610d3b610c6e565b604052919050565b600060a08284031215610d5557600080fd5b610d5d610c84565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b803561055481610c56565b60048110610c6b57600080fd5b803561055481610d9c565b600082601f830112610dc557600080fd5b81356001600160401b03811115610dde57610dde610c6e565b610df1601f8201601f1916602001610d13565b818152846020838601011115610e0657600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610c6b57600080fd5b600060a08284031215610e4357600080fd5b610e4b610c84565b90508135610e5881610c56565b8152602082810135908201526040820135610e7281610c56565b60408201526060820135610e8581610c56565b606082015260808201356001600160401b0380821115610ea457600080fd5b9083019060808286031215610eb857600080fd5b610ec0610cac565b8235610ecb81610d9c565b81526020830135610edb81610c56565b6020820152604083013582811115610ef257600080fd5b610efe87828601610db4565b60408301525060608301359250610f1483610e23565b606081019290925250608082015292915050565b600082601f830112610f3957600080fd5b813560206001600160401b0380831115610f5557610f55610c6e565b8260051b610f64838201610d13565b9384528581018301938381019088861115610f7e57600080fd5b84880192505b858310156110eb57823584811115610f9b57600080fd5b8801601f196060828c0382011215610fb257600080fd5b610fba610cce565b8783013587811115610fcb57600080fd5b8301610180818e0384011215610fe057600080fd5b610fe8610cf0565b92508881013583526040810135898401526060810135604084015261100f60808201610da9565b606084015261102060a08201610d91565b608084015261103160c08201610d91565b60a084015261104260e08201610d91565b60c0840152610100611055818301610d91565b60e085015261012080830135828601526101409150818301358186015250610160808301358286015261018083013591508982111561109357600080fd5b6110a18f8c84860101610db4565b908501525050908152604082013590868211156110bd57600080fd5b6110cb8c8984860101610db4565b818901526060929092013560408301525082529184019190840190610f84565b98975050505050505050565b600060a0828403121561110957600080fd5b611111610c84565b905061111c82610d91565b81526020828101359082015260408201356001600160401b038082111561114257600080fd5b61114e85838601610f28565b6040840152606084013591508082111561116757600080fd5b61117385838601610f28565b6060840152608084013591508082111561118c57600080fd5b5061119984828501610db4565b60808301525092915050565b60008060008060008061014087890312156111bf57600080fd5b86356111ca81610c56565b955060208701356111da81610c56565b9450604087013593506111f08860608901610d43565b92506101008701356001600160401b038082111561120d57600080fd5b6112198a838b01610e31565b935061012089013591508082111561123057600080fd5b5061123d89828a016110f7565b9150509295509295509295565b6001600160a01b03169052565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b634e487b7160e01b600052602160045260246000fd5b60048110610c6b57634e487b7160e01b600052602160045260246000fd5b600060018060a01b0380835116845260208301516020850152806040840151166040850152806060840151166060850152608083015160a0608086015280516113038161129d565b60a0860152602081015190911660c08501526040810151608060e086015290611330610120860183610b9a565b915060608101511515610100860152508091505092915050565b6113538161129d565b9052565b600082825180855260208086019550808260051b84010181860160005b8481101561149057601f198684030189528151606081518186528051828701528681015160808181890152604091508183015160a081818b015285850151955060c091506113c4828b018761134a565b91840151945060e0916113d98a84018761124a565b84015194506101006113ed8a82018761124a565b908401519450610120906114038a83018761124a565b918401519450610140916114198a84018761124a565b8401516101608a81019190915290840151610180808b0191909152918401516101a08a01528301516101c0890191909152925061145a6101e0880184610b9a565b9250878401519150868303888801526114738383610b9a565b938101519601959095525098840198925090830190600101611374565b5090979650505050505050565b60018060a01b038151168252602081015160208301526000604082015160a060408501526114ce60a0850182611357565b9050606083015184820360608601526114e78282611357565b915050608083015184820360808601526108858282610b9a565b6001600160a01b0387811682528616602082015260408101859052600061014061152e6060840187611257565b80610100840152611541818401866112bb565b9050828103610120840152611556818561149d565b9998505050505050505050565b600080600080600060a0868803121561157b57600080fd5b853561158681610c56565b9450602086013561159681610c56565b9350604086013592506060860135915060808601356001600160401b038111156115bf57600080fd5b6115cb88828901610e31565b9150509295509295909350565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090610a5e908301846112bb565b600080600080600080610140878903121561162c57600080fd5b863561163781610c56565b9550602087013561164781610c56565b945060408701359350606087013592506116648860808901610d43565b91506101208701356001600160401b0381111561168057600080fd5b61123d89828a016110f7565b6001600160a01b03878116825286166020820152604081018590526060810184905260006101406116c06080840186611257565b806101208401526115568184018561149d565b600080600080600060a086880312156116eb57600080fd5b85356116f681610c56565b9450602086013561170681610c56565b94979496505050506040830135926060810135926080909101359150565b60008060006060848603121561173957600080fd5b835161174481610c56565b602085015190935061175581610c56565b604085015190925061176681610c56565b809150509250925092565b6001600160a01b0391909116815260200190565b60006020828403121561179757600080fd5b5051919050565b6000602082840312156117b057600080fd5b8151610bd981610e2356fea264697066735822122077d808a0828c3ad4d0ad20e6a94af00f7b92e0df7c7db1de76568831af3c06ba64736f6c63430008170033",
30
+ "bytecode": "0x608060405234801561001057600080fd5b506117f1806100206000396000f3fe6080604052600436106100225760003560e01c8063ef4093631461002e57600080fd5b3661002957005b600080fd5b34801561003a57600080fd5b5061004e610049366004610b05565b610064565b60405161005b9190610bc6565b60405180910390f35b60606000806100738585610103565b91509150600073888888888889758f76e7103c6cbf23abbf58f9466001600160a01b031683836040516100a69190610be0565b60006040518083038185875af1925050503d80600081146100e3576040519150601f19603f3d011682016040523d82523d6000602084013e6100e8565b606091505b5094509050806100fa57835184602001fd5b50505092915050565b60006060816101156004828688610bfc565b61011e91610c26565b9050366000610130866004818a610bfc565b90925090506001600160e01b0319831663092ccd6360e11b148061016457506001600160e01b0319831663640fc23d60e11b145b8061017f57506001600160e01b031983166376a4483f60e11b145b1561020a5760008080808080610197878901896111a5565b9550955095509550955095506101ac8261042e565b9a50888686868686866040516024016101ca96959493929190611501565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152995061042495505050505050565b63c241e3ab60e01b6001600160e01b03198416016102a25760008080808061023486880188611563565b945094509450945094506102478161042e565b99508785858585856040516024016102639594939291906115d8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529850610424945050505050565b6001600160e01b031983166358bda47560e01b14806102d157506001600160e01b03198316630a94245f60e21b145b806102ec57506001600160e01b03198316637b8b4b9560e01b145b156103325760008080808061030386880188611612565b955095509550509450945087858561031a87610559565b8686866040516024016102639695949392919061168c565b633dde3dab60e11b6001600160e01b03198416016103e057600080808061035b858701876116d3565b94509450509350935086848461037086610559565b6040516001600160a01b03938416602482015292909116604483015260648201526084810184905260a4810183905260c40160408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915297506104249350505050565b60405162461bcd60e51b81526020600482015260146024820152732aa729aaa82827a92a22a22fa9a2a622a1aa27a960611b60448201526064015b60405180910390fd5b5050509250929050565b600080608083015151600381111561044857610448611287565b1415801561046d57506003608083015151600381111561046a5761046a611287565b14155b156104bb578160800151606001516104bb5760405162461bcd60e51b815260206004820152601160248201527014d0d0531157d254d7d491545552549151607a1b604482015260640161041b565b81516104c6906106a7565b602083015281516001600160a01b03166104e257506020015190565b81516001600160a01b031660009081526020819052604090205460ff1661055457815161052f906001600160a01b031673888888888889758f76e7103c6cbf23abbf58f946600019610732565b81516001600160a01b03166000908152602081905260409020805460ff191660011790555b919050565b600080826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561059a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105be9190611724565b50506040516370a0823160e01b81529091506001600160a01b038216906370a08231906105ef903090600401611771565b602060405180830381865afa15801561060c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106309190611785565b6001600160a01b03821660009081526020819052604090205490925060ff166106a15761067d6001600160a01b03821673888888888889758f76e7103c6cbf23abbf58f946600019610732565b6001600160a01b0381166000908152602081905260409020805460ff191660011790555b50919050565b60006001600160a01b0382161561072a576040516370a0823160e01b81526001600160a01b038316906370a08231906106e4903090600401611771565b602060405180830381865afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107259190611785565b61072c565b475b92915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261078384826107ec565b6107e657604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526107dc90859061088e565b6107e6848261088e565b50505050565b6000806000846001600160a01b0316846040516108099190610be0565b6000604051808303816000865af19150503d8060008114610846576040519150601f19603f3d011682016040523d82523d6000602084013e61084b565b606091505b5091509150818015610875575080511580610875575080806020019051810190610875919061179e565b8015610885575061088585610968565b95945050505050565b60006108e3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109779092919063ffffffff16565b9050805160001480610904575080806020019051810190610904919061179e565b6109635760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161041b565b505050565b6001600160a01b03163b151590565b6060610986848460008561098e565b949350505050565b6060824710156109ef5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161041b565b600080866001600160a01b03168587604051610a0b9190610be0565b60006040518083038185875af1925050503d8060008114610a48576040519150601f19603f3d011682016040523d82523d6000602084013e610a4d565b606091505b5091509150610a5e87838387610a69565b979650505050505050565b60608315610ad6578251600003610acf57610a8385610968565b610acf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161041b565b5081610986565b6109868383815115610aeb5781518083602001fd5b8060405162461bcd60e51b815260040161041b9190610bc6565b60008060208385031215610b1857600080fd5b82356001600160401b0380821115610b2f57600080fd5b818501915085601f830112610b4357600080fd5b813581811115610b5257600080fd5b866020828501011115610b6457600080fd5b60209290920196919550909350505050565b60005b83811015610b91578181015183820152602001610b79565b50506000910152565b60008151808452610bb2816020860160208601610b76565b601f01601f19169290920160200192915050565b602081526000610bd96020830184610b9a565b9392505050565b60008251610bf2818460208701610b76565b9190910192915050565b60008085851115610c0c57600080fd5b83861115610c1957600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015610c4e5780818660040360031b1b83161692505b505092915050565b6001600160a01b0381168114610c6b57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b0381118282101715610ca657610ca6610c6e565b60405290565b604051608081016001600160401b0381118282101715610ca657610ca6610c6e565b604051606081016001600160401b0381118282101715610ca657610ca6610c6e565b60405161018081016001600160401b0381118282101715610ca657610ca6610c6e565b604051601f8201601f191681016001600160401b0381118282101715610d3b57610d3b610c6e565b604052919050565b600060a08284031215610d5557600080fd5b610d5d610c84565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b803561055481610c56565b60048110610c6b57600080fd5b803561055481610d9c565b600082601f830112610dc557600080fd5b81356001600160401b03811115610dde57610dde610c6e565b610df1601f8201601f1916602001610d13565b818152846020838601011115610e0657600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610c6b57600080fd5b600060a08284031215610e4357600080fd5b610e4b610c84565b90508135610e5881610c56565b8152602082810135908201526040820135610e7281610c56565b60408201526060820135610e8581610c56565b606082015260808201356001600160401b0380821115610ea457600080fd5b9083019060808286031215610eb857600080fd5b610ec0610cac565b8235610ecb81610d9c565b81526020830135610edb81610c56565b6020820152604083013582811115610ef257600080fd5b610efe87828601610db4565b60408301525060608301359250610f1483610e23565b606081019290925250608082015292915050565b600082601f830112610f3957600080fd5b813560206001600160401b0380831115610f5557610f55610c6e565b8260051b610f64838201610d13565b9384528581018301938381019088861115610f7e57600080fd5b84880192505b858310156110eb57823584811115610f9b57600080fd5b8801601f196060828c0382011215610fb257600080fd5b610fba610cce565b8783013587811115610fcb57600080fd5b8301610180818e0384011215610fe057600080fd5b610fe8610cf0565b92508881013583526040810135898401526060810135604084015261100f60808201610da9565b606084015261102060a08201610d91565b608084015261103160c08201610d91565b60a084015261104260e08201610d91565b60c0840152610100611055818301610d91565b60e085015261012080830135828601526101409150818301358186015250610160808301358286015261018083013591508982111561109357600080fd5b6110a18f8c84860101610db4565b908501525050908152604082013590868211156110bd57600080fd5b6110cb8c8984860101610db4565b818901526060929092013560408301525082529184019190840190610f84565b98975050505050505050565b600060a0828403121561110957600080fd5b611111610c84565b905061111c82610d91565b81526020828101359082015260408201356001600160401b038082111561114257600080fd5b61114e85838601610f28565b6040840152606084013591508082111561116757600080fd5b61117385838601610f28565b6060840152608084013591508082111561118c57600080fd5b5061119984828501610db4565b60808301525092915050565b60008060008060008061014087890312156111bf57600080fd5b86356111ca81610c56565b955060208701356111da81610c56565b9450604087013593506111f08860608901610d43565b92506101008701356001600160401b038082111561120d57600080fd5b6112198a838b01610e31565b935061012089013591508082111561123057600080fd5b5061123d89828a016110f7565b9150509295509295509295565b6001600160a01b03169052565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b634e487b7160e01b600052602160045260246000fd5b60048110610c6b57634e487b7160e01b600052602160045260246000fd5b600060018060a01b0380835116845260208301516020850152806040840151166040850152806060840151166060850152608083015160a0608086015280516113038161129d565b60a0860152602081015190911660c08501526040810151608060e086015290611330610120860183610b9a565b915060608101511515610100860152508091505092915050565b6113538161129d565b9052565b600082825180855260208086019550808260051b84010181860160005b8481101561149057601f198684030189528151606081518186528051828701528681015160808181890152604091508183015160a081818b015285850151955060c091506113c4828b018761134a565b91840151945060e0916113d98a84018761124a565b84015194506101006113ed8a82018761124a565b908401519450610120906114038a83018761124a565b918401519450610140916114198a84018761124a565b8401516101608a81019190915290840151610180808b0191909152918401516101a08a01528301516101c0890191909152925061145a6101e0880184610b9a565b9250878401519150868303888801526114738383610b9a565b938101519601959095525098840198925090830190600101611374565b5090979650505050505050565b60018060a01b038151168252602081015160208301526000604082015160a060408501526114ce60a0850182611357565b9050606083015184820360608601526114e78282611357565b915050608083015184820360808601526108858282610b9a565b6001600160a01b0387811682528616602082015260408101859052600061014061152e6060840187611257565b80610100840152611541818401866112bb565b9050828103610120840152611556818561149d565b9998505050505050505050565b600080600080600060a0868803121561157b57600080fd5b853561158681610c56565b9450602086013561159681610c56565b9350604086013592506060860135915060808601356001600160401b038111156115bf57600080fd5b6115cb88828901610e31565b9150509295509295909350565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090610a5e908301846112bb565b600080600080600080610140878903121561162c57600080fd5b863561163781610c56565b9550602087013561164781610c56565b945060408701359350606087013592506116648860808901610d43565b91506101208701356001600160401b0381111561168057600080fd5b61123d89828a016110f7565b6001600160a01b03878116825286166020820152604081018590526060810184905260006101406116c06080840186611257565b806101208401526115568184018561149d565b600080600080600060a086880312156116eb57600080fd5b85356116f681610c56565b9450602086013561170681610c56565b94979496505050506040830135926060810135926080909101359150565b60008060006060848603121561173957600080fd5b835161174481610c56565b602085015190935061175581610c56565b604085015190925061176681610c56565b809150509250925092565b6001600160a01b0391909116815260200190565b60006020828403121561179757600080fd5b5051919050565b6000602082840312156117b057600080fd5b8151610bd981610e2356fea26469706673582212207e2c655e8724137acac7b21db01939f28b7d0caa6a58145fb535fd3d47652a4864736f6c63430008170033",
31
+ "deployedBytecode": "0x6080604052600436106100225760003560e01c8063ef4093631461002e57600080fd5b3661002957005b600080fd5b34801561003a57600080fd5b5061004e610049366004610b05565b610064565b60405161005b9190610bc6565b60405180910390f35b60606000806100738585610103565b91509150600073888888888889758f76e7103c6cbf23abbf58f9466001600160a01b031683836040516100a69190610be0565b60006040518083038185875af1925050503d80600081146100e3576040519150601f19603f3d011682016040523d82523d6000602084013e6100e8565b606091505b5094509050806100fa57835184602001fd5b50505092915050565b60006060816101156004828688610bfc565b61011e91610c26565b9050366000610130866004818a610bfc565b90925090506001600160e01b0319831663092ccd6360e11b148061016457506001600160e01b0319831663640fc23d60e11b145b8061017f57506001600160e01b031983166376a4483f60e11b145b1561020a5760008080808080610197878901896111a5565b9550955095509550955095506101ac8261042e565b9a50888686868686866040516024016101ca96959493929190611501565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152995061042495505050505050565b63c241e3ab60e01b6001600160e01b03198416016102a25760008080808061023486880188611563565b945094509450945094506102478161042e565b99508785858585856040516024016102639594939291906115d8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529850610424945050505050565b6001600160e01b031983166358bda47560e01b14806102d157506001600160e01b03198316630a94245f60e21b145b806102ec57506001600160e01b03198316637b8b4b9560e01b145b156103325760008080808061030386880188611612565b955095509550509450945087858561031a87610559565b8686866040516024016102639695949392919061168c565b633dde3dab60e11b6001600160e01b03198416016103e057600080808061035b858701876116d3565b94509450509350935086848461037086610559565b6040516001600160a01b03938416602482015292909116604483015260648201526084810184905260a4810183905260c40160408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915297506104249350505050565b60405162461bcd60e51b81526020600482015260146024820152732aa729aaa82827a92a22a22fa9a2a622a1aa27a960611b60448201526064015b60405180910390fd5b5050509250929050565b600080608083015151600381111561044857610448611287565b1415801561046d57506003608083015151600381111561046a5761046a611287565b14155b156104bb578160800151606001516104bb5760405162461bcd60e51b815260206004820152601160248201527014d0d0531157d254d7d491545552549151607a1b604482015260640161041b565b81516104c6906106a7565b602083015281516001600160a01b03166104e257506020015190565b81516001600160a01b031660009081526020819052604090205460ff1661055457815161052f906001600160a01b031673888888888889758f76e7103c6cbf23abbf58f946600019610732565b81516001600160a01b03166000908152602081905260409020805460ff191660011790555b919050565b600080826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561059a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105be9190611724565b50506040516370a0823160e01b81529091506001600160a01b038216906370a08231906105ef903090600401611771565b602060405180830381865afa15801561060c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106309190611785565b6001600160a01b03821660009081526020819052604090205490925060ff166106a15761067d6001600160a01b03821673888888888889758f76e7103c6cbf23abbf58f946600019610732565b6001600160a01b0381166000908152602081905260409020805460ff191660011790555b50919050565b60006001600160a01b0382161561072a576040516370a0823160e01b81526001600160a01b038316906370a08231906106e4903090600401611771565b602060405180830381865afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107259190611785565b61072c565b475b92915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261078384826107ec565b6107e657604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526107dc90859061088e565b6107e6848261088e565b50505050565b6000806000846001600160a01b0316846040516108099190610be0565b6000604051808303816000865af19150503d8060008114610846576040519150601f19603f3d011682016040523d82523d6000602084013e61084b565b606091505b5091509150818015610875575080511580610875575080806020019051810190610875919061179e565b8015610885575061088585610968565b95945050505050565b60006108e3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109779092919063ffffffff16565b9050805160001480610904575080806020019051810190610904919061179e565b6109635760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161041b565b505050565b6001600160a01b03163b151590565b6060610986848460008561098e565b949350505050565b6060824710156109ef5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161041b565b600080866001600160a01b03168587604051610a0b9190610be0565b60006040518083038185875af1925050503d8060008114610a48576040519150601f19603f3d011682016040523d82523d6000602084013e610a4d565b606091505b5091509150610a5e87838387610a69565b979650505050505050565b60608315610ad6578251600003610acf57610a8385610968565b610acf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161041b565b5081610986565b6109868383815115610aeb5781518083602001fd5b8060405162461bcd60e51b815260040161041b9190610bc6565b60008060208385031215610b1857600080fd5b82356001600160401b0380821115610b2f57600080fd5b818501915085601f830112610b4357600080fd5b813581811115610b5257600080fd5b866020828501011115610b6457600080fd5b60209290920196919550909350505050565b60005b83811015610b91578181015183820152602001610b79565b50506000910152565b60008151808452610bb2816020860160208601610b76565b601f01601f19169290920160200192915050565b602081526000610bd96020830184610b9a565b9392505050565b60008251610bf2818460208701610b76565b9190910192915050565b60008085851115610c0c57600080fd5b83861115610c1957600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015610c4e5780818660040360031b1b83161692505b505092915050565b6001600160a01b0381168114610c6b57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b0381118282101715610ca657610ca6610c6e565b60405290565b604051608081016001600160401b0381118282101715610ca657610ca6610c6e565b604051606081016001600160401b0381118282101715610ca657610ca6610c6e565b60405161018081016001600160401b0381118282101715610ca657610ca6610c6e565b604051601f8201601f191681016001600160401b0381118282101715610d3b57610d3b610c6e565b604052919050565b600060a08284031215610d5557600080fd5b610d5d610c84565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b803561055481610c56565b60048110610c6b57600080fd5b803561055481610d9c565b600082601f830112610dc557600080fd5b81356001600160401b03811115610dde57610dde610c6e565b610df1601f8201601f1916602001610d13565b818152846020838601011115610e0657600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610c6b57600080fd5b600060a08284031215610e4357600080fd5b610e4b610c84565b90508135610e5881610c56565b8152602082810135908201526040820135610e7281610c56565b60408201526060820135610e8581610c56565b606082015260808201356001600160401b0380821115610ea457600080fd5b9083019060808286031215610eb857600080fd5b610ec0610cac565b8235610ecb81610d9c565b81526020830135610edb81610c56565b6020820152604083013582811115610ef257600080fd5b610efe87828601610db4565b60408301525060608301359250610f1483610e23565b606081019290925250608082015292915050565b600082601f830112610f3957600080fd5b813560206001600160401b0380831115610f5557610f55610c6e565b8260051b610f64838201610d13565b9384528581018301938381019088861115610f7e57600080fd5b84880192505b858310156110eb57823584811115610f9b57600080fd5b8801601f196060828c0382011215610fb257600080fd5b610fba610cce565b8783013587811115610fcb57600080fd5b8301610180818e0384011215610fe057600080fd5b610fe8610cf0565b92508881013583526040810135898401526060810135604084015261100f60808201610da9565b606084015261102060a08201610d91565b608084015261103160c08201610d91565b60a084015261104260e08201610d91565b60c0840152610100611055818301610d91565b60e085015261012080830135828601526101409150818301358186015250610160808301358286015261018083013591508982111561109357600080fd5b6110a18f8c84860101610db4565b908501525050908152604082013590868211156110bd57600080fd5b6110cb8c8984860101610db4565b818901526060929092013560408301525082529184019190840190610f84565b98975050505050505050565b600060a0828403121561110957600080fd5b611111610c84565b905061111c82610d91565b81526020828101359082015260408201356001600160401b038082111561114257600080fd5b61114e85838601610f28565b6040840152606084013591508082111561116757600080fd5b61117385838601610f28565b6060840152608084013591508082111561118c57600080fd5b5061119984828501610db4565b60808301525092915050565b60008060008060008061014087890312156111bf57600080fd5b86356111ca81610c56565b955060208701356111da81610c56565b9450604087013593506111f08860608901610d43565b92506101008701356001600160401b038082111561120d57600080fd5b6112198a838b01610e31565b935061012089013591508082111561123057600080fd5b5061123d89828a016110f7565b9150509295509295509295565b6001600160a01b03169052565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b634e487b7160e01b600052602160045260246000fd5b60048110610c6b57634e487b7160e01b600052602160045260246000fd5b600060018060a01b0380835116845260208301516020850152806040840151166040850152806060840151166060850152608083015160a0608086015280516113038161129d565b60a0860152602081015190911660c08501526040810151608060e086015290611330610120860183610b9a565b915060608101511515610100860152508091505092915050565b6113538161129d565b9052565b600082825180855260208086019550808260051b84010181860160005b8481101561149057601f198684030189528151606081518186528051828701528681015160808181890152604091508183015160a081818b015285850151955060c091506113c4828b018761134a565b91840151945060e0916113d98a84018761124a565b84015194506101006113ed8a82018761124a565b908401519450610120906114038a83018761124a565b918401519450610140916114198a84018761124a565b8401516101608a81019190915290840151610180808b0191909152918401516101a08a01528301516101c0890191909152925061145a6101e0880184610b9a565b9250878401519150868303888801526114738383610b9a565b938101519601959095525098840198925090830190600101611374565b5090979650505050505050565b60018060a01b038151168252602081015160208301526000604082015160a060408501526114ce60a0850182611357565b9050606083015184820360608601526114e78282611357565b915050608083015184820360808601526108858282610b9a565b6001600160a01b0387811682528616602082015260408101859052600061014061152e6060840187611257565b80610100840152611541818401866112bb565b9050828103610120840152611556818561149d565b9998505050505050505050565b600080600080600060a0868803121561157b57600080fd5b853561158681610c56565b9450602086013561159681610c56565b9350604086013592506060860135915060808601356001600160401b038111156115bf57600080fd5b6115cb88828901610e31565b9150509295509295909350565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090610a5e908301846112bb565b600080600080600080610140878903121561162c57600080fd5b863561163781610c56565b9550602087013561164781610c56565b945060408701359350606087013592506116648860808901610d43565b91506101208701356001600160401b0381111561168057600080fd5b61123d89828a016110f7565b6001600160a01b03878116825286166020820152604081018590526060810184905260006101406116c06080840186611257565b806101208401526115568184018561149d565b600080600080600060a086880312156116eb57600080fd5b85356116f681610c56565b9450602086013561170681610c56565b94979496505050506040830135926060810135926080909101359150565b60008060006060848603121561173957600080fd5b835161174481610c56565b602085015190935061175581610c56565b604085015190925061176681610c56565b809150509250925092565b6001600160a01b0391909116815260200190565b60006020828403121561179757600080fd5b5051919050565b6000602082840312156117b057600080fd5b8151610bd981610e2356fea26469706673582212207e2c655e8724137acac7b21db01939f28b7d0caa6a58145fb535fd3d47652a4864736f6c63430008170033",
32
32
  "linkReferences": {},
33
33
  "deployedLinkReferences": {}
34
34
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4d270949015466c8da4d7817a7662941.json"
3
+ "buildInfo": "../../../../build-info/13d112e4a3b90ce4487299a2047fb557.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4d270949015466c8da4d7817a7662941.json"
3
+ "buildInfo": "../../../../build-info/13d112e4a3b90ce4487299a2047fb557.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "ActionDelegateBase",
4
4
  "sourceName": "contracts/router/base/ActionDelegateBase.sol",
5
5
  "abi": [],
6
- "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220441705f935b47424bed6e0a431579dbd4441bce1d9fbecf032fb42a6ab0c506264736f6c63430008170033",
7
- "deployedBytecode": "0x6080604052600080fdfea2646970667358221220441705f935b47424bed6e0a431579dbd4441bce1d9fbecf032fb42a6ab0c506264736f6c63430008170033",
6
+ "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122042ed168550f8e1fcef5669f8bcfe802db7f462fcc8069d4a3dfe7b39e0cca64f64736f6c63430008170033",
7
+ "deployedBytecode": "0x6080604052600080fdfea264697066735822122042ed168550f8e1fcef5669f8bcfe802db7f462fcc8069d4a3dfe7b39e0cca64f64736f6c63430008170033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4d270949015466c8da4d7817a7662941.json"
3
+ "buildInfo": "../../../../build-info/13d112e4a3b90ce4487299a2047fb557.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "ApproxStateLib",
4
4
  "sourceName": "contracts/router/math/ApproxStateLib.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d0a2f9211b9b52b8769c7f3984c83cb16767e0a4b9c65aec31a6a6901fa002bb64736f6c63430008170033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d0a2f9211b9b52b8769c7f3984c83cb16767e0a4b9c65aec31a6a6901fa002bb64736f6c63430008170033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a91ed61e6bd60d8d378ace72cb6c8b5fa7a257c52ed05d188e286bf62f22e08064736f6c63430008170033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a91ed61e6bd60d8d378ace72cb6c8b5fa7a257c52ed05d188e286bf62f22e08064736f6c63430008170033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4d270949015466c8da4d7817a7662941.json"
3
+ "buildInfo": "../../../../build-info/13d112e4a3b90ce4487299a2047fb557.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtInLib",
4
4
  "sourceName": "contracts/router/math/MarketApproxLib.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202ab13cd6c5d471cbb99ec8a6bf036c5cba3113b80d5a30f9336bcde834dc6fe964736f6c63430008170033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202ab13cd6c5d471cbb99ec8a6bf036c5cba3113b80d5a30f9336bcde834dc6fe964736f6c63430008170033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c80a7424792103bafda835dd60365a4be3f9e49bb42b8dc0c3a531552fe4cfc064736f6c63430008170033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c80a7424792103bafda835dd60365a4be3f9e49bb42b8dc0c3a531552fe4cfc064736f6c63430008170033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4d270949015466c8da4d7817a7662941.json"
3
+ "buildInfo": "../../../../build-info/13d112e4a3b90ce4487299a2047fb557.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtOutLib",
4
4
  "sourceName": "contracts/router/math/MarketApproxLib.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d8bdc477b60cb5e6edc37f6099b3b5c82fd92fbe082c21b14266ef95969ae4d264736f6c63430008170033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d8bdc477b60cb5e6edc37f6099b3b5c82fd92fbe082c21b14266ef95969ae4d264736f6c63430008170033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d6fb3f6e5c5f02354dcb8aa59c3bfbd9be88dfe0276d7aafae1b38123773b61864736f6c63430008170033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d6fb3f6e5c5f02354dcb8aa59c3bfbd9be88dfe0276d7aafae1b38123773b61864736f6c63430008170033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4d270949015466c8da4d7817a7662941.json"
3
+ "buildInfo": "../../../../build-info/13d112e4a3b90ce4487299a2047fb557.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtInLibOnchain",
4
4
  "sourceName": "contracts/router/math/MarketApproxLibOnchain.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ad1d4ca78ad88d47abeb410fe34c3a8def4fed673ff6b14b4edc63c4811d33cd64736f6c63430008170033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ad1d4ca78ad88d47abeb410fe34c3a8def4fed673ff6b14b4edc63c4811d33cd64736f6c63430008170033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206efea1b650e3d5c880c4a0b754674290c78b67122ce1eb6e9b1bbc0da8a6caf164736f6c63430008170033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206efea1b650e3d5c880c4a0b754674290c78b67122ce1eb6e9b1bbc0da8a6caf164736f6c63430008170033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/4d270949015466c8da4d7817a7662941.json"
3
+ "buildInfo": "../../../../build-info/13d112e4a3b90ce4487299a2047fb557.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtOutLibOnchain",
4
4
  "sourceName": "contracts/router/math/MarketApproxLibOnchain.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bc76922aa2d886d4d06f802fe0629bae1ebf0466d55e049e77b0ef126ced3aab64736f6c63430008170033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bc76922aa2d886d4d06f802fe0629bae1ebf0466d55e049e77b0ef126ced3aab64736f6c63430008170033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220857b8274959234e480c193471964a5577ad1e01d3960316c781a9cfd4f164e1564736f6c63430008170033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220857b8274959234e480c193471964a5577ad1e01d3960316c781a9cfd4f164e1564736f6c63430008170033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -0,0 +1,21 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../PendleERC4626SYV2.sol";
5
+ import "../../../../interfaces/IPTokenWithSupplyCap.sol";
6
+
7
+ contract PendleMorphoMetaVaultSY is PendleERC4626SYV2, IPTokenWithSupplyCap {
8
+ constructor(
9
+ string memory _name,
10
+ string memory _symbol,
11
+ address _erc4626
12
+ ) PendleERC4626SYV2(_name, _symbol, _erc4626) {}
13
+
14
+ function getAbsoluteSupplyCap() external view returns (uint256) {
15
+ return IERC4626(yieldToken).totalSupply() + IERC4626(yieldToken).maxMint(address(this));
16
+ }
17
+
18
+ function getAbsoluteTotalSupply() external view returns (uint256) {
19
+ return IERC4626(yieldToken).totalSupply();
20
+ }
21
+ }
@@ -42,7 +42,6 @@ contract PendleERC4626SY is SYBase {
42
42
  uint256 totalSupply = IERC4626(yieldToken).totalSupply();
43
43
  return totalAssets.divDown(totalSupply);
44
44
  }
45
-
46
45
  function _previewDeposit(
47
46
  address tokenIn,
48
47
  uint256 amountTokenToDeposit
@@ -0,0 +1,88 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../SYBase.sol";
5
+ import "../../../interfaces/IERC4626.sol";
6
+
7
+ contract PendleERC4626SYV2 is SYBase {
8
+ using PMath for uint256;
9
+ address public immutable asset;
10
+
11
+ constructor(string memory _name, string memory _symbol, address _erc4626) SYBase(_name, _symbol, _erc4626) {
12
+ asset = IERC4626(_erc4626).asset();
13
+ _safeApproveInf(asset, _erc4626);
14
+ }
15
+
16
+ function _deposit(
17
+ address tokenIn,
18
+ uint256 amountDeposited
19
+ ) internal virtual override returns (uint256 /*amountSharesOut*/) {
20
+ if (tokenIn == yieldToken) {
21
+ return amountDeposited;
22
+ } else {
23
+ return IERC4626(yieldToken).deposit(amountDeposited, address(this));
24
+ }
25
+ }
26
+
27
+ function _redeem(
28
+ address receiver,
29
+ address tokenOut,
30
+ uint256 amountSharesToRedeem
31
+ ) internal virtual override returns (uint256 amountTokenOut) {
32
+ if (tokenOut == yieldToken) {
33
+ amountTokenOut = amountSharesToRedeem;
34
+ _transferOut(yieldToken, receiver, amountTokenOut);
35
+ } else {
36
+ amountTokenOut = IERC4626(yieldToken).redeem(amountSharesToRedeem, receiver, address(this));
37
+ }
38
+ }
39
+
40
+ function exchangeRate() public view virtual override returns (uint256) {
41
+ return IERC4626(yieldToken).convertToAssets(PMath.ONE);
42
+ }
43
+
44
+ function _previewDeposit(
45
+ address tokenIn,
46
+ uint256 amountTokenToDeposit
47
+ ) internal view virtual override returns (uint256 /*amountSharesOut*/) {
48
+ if (tokenIn == yieldToken) return amountTokenToDeposit;
49
+ else return IERC4626(yieldToken).previewDeposit(amountTokenToDeposit);
50
+ }
51
+
52
+ function _previewRedeem(
53
+ address tokenOut,
54
+ uint256 amountSharesToRedeem
55
+ ) internal view override returns (uint256 /*amountTokenOut*/) {
56
+ if (tokenOut == yieldToken) return amountSharesToRedeem;
57
+ else return IERC4626(yieldToken).previewRedeem(amountSharesToRedeem);
58
+ }
59
+
60
+ function getTokensIn() public view virtual override returns (address[] memory res) {
61
+ res = new address[](2);
62
+ res[0] = asset;
63
+ res[1] = yieldToken;
64
+ }
65
+
66
+ function getTokensOut() public view virtual override returns (address[] memory res) {
67
+ res = new address[](2);
68
+ res[0] = asset;
69
+ res[1] = yieldToken;
70
+ }
71
+
72
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
73
+ return token == yieldToken || token == asset;
74
+ }
75
+
76
+ function isValidTokenOut(address token) public view virtual override returns (bool) {
77
+ return token == yieldToken || token == asset;
78
+ }
79
+
80
+ function assetInfo()
81
+ external
82
+ view
83
+ virtual
84
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
85
+ {
86
+ return (AssetType.TOKEN, asset, IERC20Metadata(asset).decimals());
87
+ }
88
+ }
@@ -0,0 +1,83 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../SYBaseUpg.sol";
5
+ import "../../../interfaces/IERC4626.sol";
6
+
7
+ contract PendleERC4626SYUpg is SYBaseUpg {
8
+ using PMath for uint256;
9
+ address public immutable asset;
10
+
11
+ constructor(address _erc4626) SYBaseUpg(_erc4626) {
12
+ asset = IERC4626(_erc4626).asset();
13
+ _safeApproveInf(asset, _erc4626);
14
+ }
15
+
16
+ function _deposit(
17
+ address tokenIn,
18
+ uint256 amountDeposited
19
+ ) internal virtual override returns (uint256 /*amountSharesOut*/) {
20
+ if (tokenIn == yieldToken) {
21
+ return amountDeposited;
22
+ } else {
23
+ return IERC4626(yieldToken).deposit(amountDeposited, address(this));
24
+ }
25
+ }
26
+
27
+ function _redeem(
28
+ address receiver,
29
+ address tokenOut,
30
+ uint256 amountSharesToRedeem
31
+ ) internal override returns (uint256 amountTokenOut) {
32
+ if (tokenOut == yieldToken) {
33
+ amountTokenOut = amountSharesToRedeem;
34
+ _transferOut(yieldToken, receiver, amountTokenOut);
35
+ } else {
36
+ amountTokenOut = IERC4626(yieldToken).redeem(amountSharesToRedeem, receiver, address(this));
37
+ }
38
+ }
39
+
40
+ function exchangeRate() public view virtual override returns (uint256) {
41
+ return IERC4626(yieldToken).convertToAssets(PMath.ONE);
42
+ }
43
+
44
+ function _previewDeposit(
45
+ address tokenIn,
46
+ uint256 amountTokenToDeposit
47
+ ) internal view override returns (uint256 /*amountSharesOut*/) {
48
+ if (tokenIn == yieldToken) return amountTokenToDeposit;
49
+ else return IERC4626(yieldToken).previewDeposit(amountTokenToDeposit);
50
+ }
51
+
52
+ function _previewRedeem(
53
+ address tokenOut,
54
+ uint256 amountSharesToRedeem
55
+ ) internal view override returns (uint256 /*amountTokenOut*/) {
56
+ if (tokenOut == yieldToken) return amountSharesToRedeem;
57
+ else return IERC4626(yieldToken).previewRedeem(amountSharesToRedeem);
58
+ }
59
+
60
+ function getTokensIn() public view override returns (address[] memory res) {
61
+ res = new address[](2);
62
+ res[0] = asset;
63
+ res[1] = yieldToken;
64
+ }
65
+
66
+ function getTokensOut() public view override returns (address[] memory res) {
67
+ res = new address[](2);
68
+ res[0] = asset;
69
+ res[1] = yieldToken;
70
+ }
71
+
72
+ function isValidTokenIn(address token) public view override returns (bool) {
73
+ return token == yieldToken || token == asset;
74
+ }
75
+
76
+ function isValidTokenOut(address token) public view override returns (bool) {
77
+ return token == yieldToken || token == asset;
78
+ }
79
+
80
+ function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
81
+ return (AssetType.TOKEN, asset, IERC20Metadata(asset).decimals());
82
+ }
83
+ }
@@ -91,7 +91,8 @@ contract PendleZerolendEBTCSYUpg is PendleAaveV3WithRewardsSYUpg {
91
91
 
92
92
  function getAbsoluteSupplyCap() external view returns (uint256) {
93
93
  uint256 data = (IZerolendPool(ZEROLEND_POOL).getConfiguration(eBTC)).data;
94
- uint256 unscaledSupplyCap = (data & (~uint256(0xFFFFFFFFFFFFFFFFFFFFFFFFFF000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF))) >> 116;
94
+ uint256 unscaledSupplyCap = (data &
95
+ (~uint256(0xFFFFFFFFFFFFFFFFFFFFFFFFFF000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF))) >> 116;
95
96
  return unscaledSupplyCap * (10 ** IERC20Metadata(eBTC).decimals());
96
97
  }
97
98
 
@@ -40,4 +40,6 @@ interface IERC4626 is IERC20Metadata {
40
40
  function previewRedeem(uint256 shares) external view returns (uint256);
41
41
 
42
42
  function totalAssets() external view returns (uint256);
43
+
44
+ function maxMint(address) external view returns (uint256);
43
45
  }
@@ -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
  }
@@ -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
  }