@pendle/core-v2 6.3.0-beta → 6.3.0-fee-setter

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 (187) hide show
  1. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  4. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  6. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +1 -1
  7. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +2 -2
  8. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +1 -1
  9. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +2 -2
  10. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  11. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  12. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  13. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  14. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  15. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  16. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  17. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  18. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  19. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  20. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  21. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  22. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  23. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  24. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  25. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  26. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  27. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  28. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  29. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +42 -0
  30. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  31. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  32. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +13 -0
  33. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  34. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  36. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  37. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  38. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  39. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  40. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  41. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  42. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  43. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  44. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  45. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +4 -0
  46. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +326 -0
  47. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  48. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  49. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  50. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  51. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  52. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  53. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  54. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  55. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  56. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  57. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  58. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  59. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  60. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  61. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  62. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  63. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  64. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  65. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  66. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  67. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  68. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  69. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  70. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  71. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  72. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  73. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  74. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  75. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  76. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  77. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  78. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  79. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  80. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  81. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  82. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  83. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  84. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  85. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  86. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  87. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  88. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  89. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  90. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  91. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  92. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  93. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  94. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  95. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  96. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  97. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  98. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  99. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  100. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  101. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  102. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  103. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  104. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  105. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  106. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  107. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  108. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  109. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  110. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  111. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  112. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  113. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  114. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  115. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  116. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  117. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  118. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  119. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  120. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  121. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  122. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  123. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  124. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  125. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  126. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  127. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  128. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  129. package/contracts/interfaces/IPLimitRouter.sol +4 -0
  130. package/contracts/interfaces/IPMarket.sol +2 -0
  131. package/contracts/offchain-helpers/PendleFeeSetter.sol +159 -0
  132. package/deployments/1-offchain-helper.json +2 -1
  133. package/deployments/10-offchain-helper.json +2 -1
  134. package/deployments/146-offchain-helper.json +2 -1
  135. package/deployments/42161-offchain-helper.json +2 -1
  136. package/deployments/5000-offchain-helper.json +2 -1
  137. package/deployments/56-offchain-helper.json +2 -1
  138. package/deployments/80094-offchain-helper.json +2 -1
  139. package/deployments/8453-offchain-helper.json +2 -1
  140. package/deployments/9745-offchain-helper.json +2 -1
  141. package/deployments/999-offchain-helper.json +2 -1
  142. package/package.json +2 -2
  143. package/typechain-types/IPLimitRouter.ts +69 -0
  144. package/typechain-types/IPMarket.ts +13 -0
  145. package/typechain-types/PendleFeeSetter.ts +188 -3
  146. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  147. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  148. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  149. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  150. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  151. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  152. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  153. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  154. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  155. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  156. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  157. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  158. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  159. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  160. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  161. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  162. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  163. package/typechain-types/factories/IPLimitRouter__factory.ts +42 -0
  164. package/typechain-types/factories/IPMarket__factory.ts +13 -0
  165. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  166. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  167. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  168. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  169. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  170. package/typechain-types/factories/PendleFeeSetter__factory.ts +140 -2
  171. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  172. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  173. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  174. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  175. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  176. package/typechain-types/factories/PendleMarketFactoryV6Upg__factory.ts +1 -1
  177. package/typechain-types/factories/PendleMarketV6__factory.ts +1 -1
  178. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  179. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  180. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  181. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  182. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  183. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  184. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  185. package/typechain-types/factories/Reflector__factory.ts +1 -1
  186. package/typechain-types/hardhat.d.ts +9 -0
  187. package/typechain-types/index.ts +2 -0
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtOutLibOnchain",
4
4
  "sourceName": "contracts/router/math/MarketApproxLibOnchain.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220bdac815aee4957526dbaf4139a1d47f754a46f1cdbe4ce2835840b5c365c55ac64736f6c634300081e0033",
7
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220bdac815aee4957526dbaf4139a1d47f754a46f1cdbe4ce2835840b5c365c55ac64736f6c634300081e0033",
6
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212207f1274c373ca60df515cfe0061f5cf104a84989296abb0c65af3fed0b208e0c964736f6c634300081e0033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212207f1274c373ca60df515cfe0061f5cf104a84989296abb0c65af3fed0b208e0c964736f6c634300081e0033",
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/e35f046887eb1260fa642bfca6331a9e.json"
3
+ "buildInfo": "../../../../build-info/fbe982d8b598c241fdcaa8190f0d9d2a.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtInLibV2",
4
4
  "sourceName": "contracts/router/math/MarketApproxLibV2.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122049cf3d35ceb1875cb2342df2b6c47f396f34930179c3cd7531222018ee36ef5264736f6c634300081e0033",
7
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122049cf3d35ceb1875cb2342df2b6c47f396f34930179c3cd7531222018ee36ef5264736f6c634300081e0033",
6
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212207b93a47a3c5b358b1e34ceb9f701ef7242666b0f794d7b42d901b7cab580fcd464736f6c634300081e0033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212207b93a47a3c5b358b1e34ceb9f701ef7242666b0f794d7b42d901b7cab580fcd464736f6c634300081e0033",
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/e35f046887eb1260fa642bfca6331a9e.json"
3
+ "buildInfo": "../../../../build-info/fbe982d8b598c241fdcaa8190f0d9d2a.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtOutLibV2",
4
4
  "sourceName": "contracts/router/math/MarketApproxLibV2.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dbc17b419b5e9a7b3c2284d5c2a6be5d088b1930b974ac93eebb0ec433ae1bd564736f6c634300081e0033",
7
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dbc17b419b5e9a7b3c2284d5c2a6be5d088b1930b974ac93eebb0ec433ae1bd564736f6c634300081e0033",
6
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220f480fdac6e023ed1a31d11d92835001ef517a33b114aee676f1e8bdeec9abc4664736f6c634300081e0033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220f480fdac6e023ed1a31d11d92835001ef517a33b114aee676f1e8bdeec9abc4664736f6c634300081e0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -139,6 +139,10 @@ interface IPLimitRouter is IPLimitOrderType {
139
139
  uint256
140
140
  ); /*filledMakerAmount*/
141
141
 
142
+ function setLnFeeRateRoots(address[] memory YTs, uint256[] memory lnFeeRateRoots, bool allowZeroFees) external;
143
+
144
+ function getLnFeeRateRoot(address YT) external view returns (uint256 res);
145
+
142
146
  /* --- Deprecated events --- */
143
147
 
144
148
  // deprecate on 7/1/2024, prior to official launch
@@ -73,6 +73,8 @@ interface IPMarket is IPGauge, IERC20Metadata {
73
73
 
74
74
  function isExpired() external view returns (bool);
75
75
 
76
+ function factory() external view returns (address);
77
+
76
78
  function expiry() external view returns (uint256);
77
79
 
78
80
  function observations(
@@ -0,0 +1,159 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {IPLimitRouter} from "../interfaces/IPLimitRouter.sol";
5
+ import {IPMarket, MarketState} from "../interfaces/IPMarket.sol";
6
+ import {IPMarketFactory} from "../interfaces/IPMarketFactory.sol";
7
+ import {IPYieldToken} from "../interfaces/IPYieldToken.sol";
8
+ import {IPGovernanceProxy} from "../interfaces/IPGovernanceProxy.sol";
9
+
10
+ import {PMath} from "../core/libraries/math/PMath.sol";
11
+ import {LogExpMath} from "../core/libraries/math/LogExpMath.sol";
12
+ import {BoringOwnableUpgradeableV2} from "../core/libraries/BoringOwnableUpgradeableV2.sol";
13
+ import {Errors} from "../core/libraries/Errors.sol";
14
+
15
+ contract PendleFeeSetter is BoringOwnableUpgradeableV2 {
16
+ using PMath for uint256;
17
+ using PMath for int256;
18
+ using LogExpMath for int256;
19
+
20
+ event FeeFactorSet(uint128 impliedRateToFeeFactor, uint128 routerLnFeeToLimitLnFeeFactor);
21
+ event SetterSet(address indexed setter);
22
+
23
+ uint256 internal constant LIMIT_MAX_LN_FEE_RATE_ROOT = 48790164169432003; // ln(1.05)
24
+
25
+ address public immutable router;
26
+ IPLimitRouter public immutable limitRouter;
27
+ IPGovernanceProxy public immutable govProxy;
28
+
29
+ uint128 public impliedRateToFeeFactor;
30
+ uint128 public routerLnFeeToLimitLnFeeFactor;
31
+ address public setter;
32
+
33
+ modifier onlyOwnerOrSetter() {
34
+ require(msg.sender == setter || msg.sender == owner, "not setter or owner");
35
+ _;
36
+ }
37
+
38
+ constructor(address _router, address _limitRouter, address _govProxy) {
39
+ _disableInitializers();
40
+ router = _router;
41
+ limitRouter = IPLimitRouter(_limitRouter);
42
+ govProxy = IPGovernanceProxy(_govProxy);
43
+ }
44
+
45
+ function initialize(
46
+ address _owner,
47
+ uint128 _impliedRateToFeeFactor,
48
+ uint128 _routerLnFeeToLimitLnFeeFactor
49
+ ) external initializer {
50
+ __BoringOwnableV2_init(_owner);
51
+ _setFeeFactors(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor);
52
+ }
53
+
54
+ function setFees(address[] memory markets) external onlyOwnerOrSetter {
55
+ uint256 n = markets.length;
56
+
57
+ IPGovernanceProxy.Call[] memory calls = new IPGovernanceProxy.Call[](n + 1);
58
+
59
+ address[] memory YTs = new address[](n);
60
+ uint256[] memory limitLnFeeRateRoots = new uint256[](n);
61
+
62
+ uint256 _impliedRateToFeeFactor = impliedRateToFeeFactor;
63
+ uint256 _routerLnFeeToLimitLnFeeFactor = routerLnFeeToLimitLnFeeFactor;
64
+ for (uint256 i = 0; i < n; ++i) {
65
+ (, , IPYieldToken yt) = IPMarket(markets[i]).readTokens();
66
+ (uint256 routerLnFeeRateRoot, uint256 limitLnFeeRateRoot) = _calcFee(
67
+ _impliedRateToFeeFactor,
68
+ _routerLnFeeToLimitLnFeeFactor,
69
+ markets[i]
70
+ );
71
+
72
+ YTs[i] = address(yt);
73
+ limitLnFeeRateRoots[i] = limitLnFeeRateRoot;
74
+
75
+ calls[i].target = IPMarket(markets[i]).factory();
76
+ calls[i].callData = abi.encodeCall(
77
+ IPMarketFactory.setOverriddenFee,
78
+ (router, markets[i], routerLnFeeRateRoot.Uint80())
79
+ );
80
+ }
81
+
82
+ calls[n].target = address(limitRouter);
83
+ calls[n].callData = abi.encodeCall(
84
+ IPLimitRouter.setLnFeeRateRoots,
85
+ (YTs, limitLnFeeRateRoots, /* allowZeroFees */ false)
86
+ );
87
+
88
+ govProxy.aggregateWithScopedAccess(calls);
89
+ }
90
+
91
+ function _calcFee(
92
+ uint256 _impliedRateToFeeFactor,
93
+ uint256 _routerLnFeeToLimitLnFeeFactor,
94
+ address market
95
+ ) internal view returns (uint256 routerLnFeeRateRoot, uint256 limitLnFeeRateRoot) {
96
+ uint256 marketLnFee = IPMarket(market).getNonOverrideLnFeeRateRoot();
97
+ MarketState memory state = IPMarket(market).readState(router);
98
+ uint256 impliedRate = state.lastLnImpliedRate.Int().exp().Uint();
99
+
100
+ uint256 newFee = (impliedRate - PMath.ONE).mulDown(_impliedRateToFeeFactor) + PMath.ONE;
101
+ uint256 newLnFeeRateRoot = newFee.Int().ln().Uint();
102
+
103
+ routerLnFeeRateRoot = marketLnFee.min(newLnFeeRateRoot);
104
+ limitLnFeeRateRoot = LIMIT_MAX_LN_FEE_RATE_ROOT.min(
105
+ routerLnFeeRateRoot.mulDown(_routerLnFeeToLimitLnFeeFactor)
106
+ );
107
+
108
+ // Fix up `routerLnFeeRateRoot` for this case: https://github.com/pendle-finance/pendle-core-v2/blob/6169376d0a8c12030307e3d64d02e84b07ffe4f9/contracts/core/Market/v3/PendleMarketFactoryV3.sol#L131-L135
109
+ if (routerLnFeeRateRoot == marketLnFee) routerLnFeeRateRoot = 0;
110
+ }
111
+
112
+ function readFeesAndImpliedRate(
113
+ address[] memory markets
114
+ )
115
+ external
116
+ view
117
+ returns (
118
+ uint256[] memory routerLnFeeRateRoots,
119
+ uint256[] memory limitLnFeeRateRoots,
120
+ uint256[] memory lnImpliedRates
121
+ )
122
+ {
123
+ uint256 n = markets.length;
124
+ routerLnFeeRateRoots = new uint256[](n);
125
+ limitLnFeeRateRoots = new uint256[](n);
126
+ lnImpliedRates = new uint256[](n);
127
+
128
+ for (uint256 i = 0; i < n; ++i) {
129
+ MarketState memory state = IPMarket(markets[i]).readState(router);
130
+ routerLnFeeRateRoots[i] = state.lnFeeRateRoot;
131
+ lnImpliedRates[i] = state.lastLnImpliedRate;
132
+
133
+ (, , IPYieldToken yt) = IPMarket(markets[i]).readTokens();
134
+ try limitRouter.getLnFeeRateRoot(address(yt)) returns (uint256 _fee) {
135
+ limitLnFeeRateRoots[i] = _fee;
136
+ } catch {
137
+ limitLnFeeRateRoots[i] = 0;
138
+ }
139
+ }
140
+ }
141
+
142
+ // ============================== Admin functions ==============================
143
+
144
+ function setFeeFactors(uint128 _impliedRateToFeeFactor, uint128 _routerLnFeeToLimitLnFeeFactor) external onlyOwner {
145
+ _setFeeFactors(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor);
146
+ }
147
+
148
+ function _setFeeFactors(uint128 _impliedRateToFeeFactor, uint128 _routerLnFeeToLimitLnFeeFactor) internal {
149
+ impliedRateToFeeFactor = _impliedRateToFeeFactor;
150
+ routerLnFeeToLimitLnFeeFactor = _routerLnFeeToLimitLnFeeFactor;
151
+
152
+ emit FeeFactorSet(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor);
153
+ }
154
+
155
+ function setSetter(address _setter) external onlyOwner {
156
+ setter = _setter;
157
+ emit SetterSet(setter);
158
+ }
159
+ }
@@ -7,5 +7,6 @@
7
7
  "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
8
8
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
9
9
  "checkSolvent": "0x1dE943933417D50738557Ac98FF96405CeeeeCD5",
10
- "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
10
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
11
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
11
12
  }
@@ -6,5 +6,6 @@
6
6
  "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
7
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
8
8
  "checkSolvent": "0x1dE943933417D50738557Ac98FF96405CeeeeCD5",
9
- "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
9
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
10
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
7
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
8
8
  "checkSolvent": "0x21332dCAe68b603B9170d25D21fda68f18Da91df",
9
- "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
9
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
10
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
10
11
  }
@@ -7,5 +7,6 @@
7
7
  "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
8
8
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
9
9
  "checkSolvent": "0x1dE943933417D50738557Ac98FF96405CeeeeCD5",
10
- "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
10
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
11
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
11
12
  }
@@ -7,5 +7,6 @@
7
7
  "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
8
8
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
9
9
  "checkSolvent": "0x1dE943933417D50738557Ac98FF96405CeeeeCD5",
10
- "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
10
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
11
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
11
12
  }
@@ -7,5 +7,6 @@
7
7
  "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
8
8
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
9
9
  "checkSolvent": "0x1dE943933417D50738557Ac98FF96405CeeeeCD5",
10
- "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
10
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
11
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
11
12
  }
@@ -6,5 +6,6 @@
6
6
  "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
7
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
8
8
  "checkSolvent": "0x21332dCAe68b603B9170d25D21fda68f18Da91df",
9
- "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
9
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
10
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
7
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
8
8
  "checkSolvent": "0x1dE943933417D50738557Ac98FF96405CeeeeCD5",
9
- "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
9
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
10
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
7
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
8
8
  "checkSolvent": "0x21332dCAe68b603B9170d25D21fda68f18Da91df",
9
- "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
9
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
10
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
7
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
8
8
  "checkSolvent": "0x21332dCAe68b603B9170d25D21fda68f18Da91df",
9
- "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
9
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
10
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
10
11
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "6.3.0-beta",
5
+ "version": "6.3.0-fee-setter",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -43,7 +43,7 @@
43
43
  "format": "yarn prettier -w contracts/**/*",
44
44
  "prepack": "yarn compile"
45
45
  },
46
- "packageManager": "yarn@4.10.3+sha512.c38cafb5c7bb273f3926d04e55e1d8c9dfa7d9c3ea1f36a4868fa028b9e5f72298f0b7f401ad5eb921749eb012eb1c3bb74bf7503df3ee43fd600d14a018266f",
46
+ "packageManager": "yarn@4.9.2",
47
47
  "dependencies": {
48
48
  "@chainlink/contracts": "^0.8.0",
49
49
  "@layerzerolabs/lz-evm-protocol-v2": "^3.0.75",
@@ -88,9 +88,11 @@ export interface IPLimitRouterInterface extends utils.Interface {
88
88
  "cancelSingle((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes))": FunctionFragment;
89
89
  "feeRecipient()": FunctionFragment;
90
90
  "fill(((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],address,uint256,bytes,bytes)": FunctionFragment;
91
+ "getLnFeeRateRoot(address)": FunctionFragment;
91
92
  "hashOrder((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes))": FunctionFragment;
92
93
  "orderStatuses(bytes32[])": FunctionFragment;
93
94
  "orderStatusesRaw(bytes32[])": FunctionFragment;
95
+ "setLnFeeRateRoots(address[],uint256[],bool)": FunctionFragment;
94
96
  "simulate(address,bytes)": FunctionFragment;
95
97
  };
96
98
 
@@ -125,6 +127,10 @@ export interface IPLimitRouterInterface extends utils.Interface {
125
127
  BytesLike
126
128
  ]
127
129
  ): string;
130
+ encodeFunctionData(
131
+ functionFragment: "getLnFeeRateRoot",
132
+ values: [string]
133
+ ): string;
128
134
  encodeFunctionData(
129
135
  functionFragment: "hashOrder",
130
136
  values: [OrderStruct]
@@ -137,6 +143,10 @@ export interface IPLimitRouterInterface extends utils.Interface {
137
143
  functionFragment: "orderStatusesRaw",
138
144
  values: [BytesLike[]]
139
145
  ): string;
146
+ encodeFunctionData(
147
+ functionFragment: "setLnFeeRateRoots",
148
+ values: [string[], BigNumberish[], boolean]
149
+ ): string;
140
150
  encodeFunctionData(
141
151
  functionFragment: "simulate",
142
152
  values: [string, BytesLike]
@@ -161,6 +171,10 @@ export interface IPLimitRouterInterface extends utils.Interface {
161
171
  data: BytesLike
162
172
  ): Result;
163
173
  decodeFunctionResult(functionFragment: "fill", data: BytesLike): Result;
174
+ decodeFunctionResult(
175
+ functionFragment: "getLnFeeRateRoot",
176
+ data: BytesLike
177
+ ): Result;
164
178
  decodeFunctionResult(functionFragment: "hashOrder", data: BytesLike): Result;
165
179
  decodeFunctionResult(
166
180
  functionFragment: "orderStatuses",
@@ -170,6 +184,10 @@ export interface IPLimitRouterInterface extends utils.Interface {
170
184
  functionFragment: "orderStatusesRaw",
171
185
  data: BytesLike
172
186
  ): Result;
187
+ decodeFunctionResult(
188
+ functionFragment: "setLnFeeRateRoots",
189
+ data: BytesLike
190
+ ): Result;
173
191
  decodeFunctionResult(functionFragment: "simulate", data: BytesLike): Result;
174
192
 
175
193
  events: {
@@ -314,6 +332,11 @@ export interface IPLimitRouter extends BaseContract {
314
332
  overrides?: Overrides & { from?: string | Promise<string> }
315
333
  ): Promise<ContractTransaction>;
316
334
 
335
+ getLnFeeRateRoot(
336
+ YT: string,
337
+ overrides?: CallOverrides
338
+ ): Promise<[BigNumber] & { res: BigNumber }>;
339
+
317
340
  hashOrder(order: OrderStruct, overrides?: CallOverrides): Promise<[string]>;
318
341
 
319
342
  orderStatuses(
@@ -336,6 +359,13 @@ export interface IPLimitRouter extends BaseContract {
336
359
  }
337
360
  >;
338
361
 
362
+ setLnFeeRateRoots(
363
+ YTs: string[],
364
+ lnFeeRateRoots: BigNumberish[],
365
+ allowZeroFees: boolean,
366
+ overrides?: Overrides & { from?: string | Promise<string> }
367
+ ): Promise<ContractTransaction>;
368
+
339
369
  simulate(
340
370
  target: string,
341
371
  data: BytesLike,
@@ -374,6 +404,8 @@ export interface IPLimitRouter extends BaseContract {
374
404
  overrides?: Overrides & { from?: string | Promise<string> }
375
405
  ): Promise<ContractTransaction>;
376
406
 
407
+ getLnFeeRateRoot(YT: string, overrides?: CallOverrides): Promise<BigNumber>;
408
+
377
409
  hashOrder(order: OrderStruct, overrides?: CallOverrides): Promise<string>;
378
410
 
379
411
  orderStatuses(
@@ -396,6 +428,13 @@ export interface IPLimitRouter extends BaseContract {
396
428
  }
397
429
  >;
398
430
 
431
+ setLnFeeRateRoots(
432
+ YTs: string[],
433
+ lnFeeRateRoots: BigNumberish[],
434
+ allowZeroFees: boolean,
435
+ overrides?: Overrides & { from?: string | Promise<string> }
436
+ ): Promise<ContractTransaction>;
437
+
399
438
  simulate(
400
439
  target: string,
401
440
  data: BytesLike,
@@ -438,6 +477,8 @@ export interface IPLimitRouter extends BaseContract {
438
477
  }
439
478
  >;
440
479
 
480
+ getLnFeeRateRoot(YT: string, overrides?: CallOverrides): Promise<BigNumber>;
481
+
441
482
  hashOrder(order: OrderStruct, overrides?: CallOverrides): Promise<string>;
442
483
 
443
484
  orderStatuses(
@@ -460,6 +501,13 @@ export interface IPLimitRouter extends BaseContract {
460
501
  }
461
502
  >;
462
503
 
504
+ setLnFeeRateRoots(
505
+ YTs: string[],
506
+ lnFeeRateRoots: BigNumberish[],
507
+ allowZeroFees: boolean,
508
+ overrides?: CallOverrides
509
+ ): Promise<void>;
510
+
463
511
  simulate(
464
512
  target: string,
465
513
  data: BytesLike,
@@ -572,6 +620,8 @@ export interface IPLimitRouter extends BaseContract {
572
620
  overrides?: Overrides & { from?: string | Promise<string> }
573
621
  ): Promise<BigNumber>;
574
622
 
623
+ getLnFeeRateRoot(YT: string, overrides?: CallOverrides): Promise<BigNumber>;
624
+
575
625
  hashOrder(
576
626
  order: OrderStruct,
577
627
  overrides?: CallOverrides
@@ -587,6 +637,13 @@ export interface IPLimitRouter extends BaseContract {
587
637
  overrides?: CallOverrides
588
638
  ): Promise<BigNumber>;
589
639
 
640
+ setLnFeeRateRoots(
641
+ YTs: string[],
642
+ lnFeeRateRoots: BigNumberish[],
643
+ allowZeroFees: boolean,
644
+ overrides?: Overrides & { from?: string | Promise<string> }
645
+ ): Promise<BigNumber>;
646
+
590
647
  simulate(
591
648
  target: string,
592
649
  data: BytesLike,
@@ -626,6 +683,11 @@ export interface IPLimitRouter extends BaseContract {
626
683
  overrides?: Overrides & { from?: string | Promise<string> }
627
684
  ): Promise<PopulatedTransaction>;
628
685
 
686
+ getLnFeeRateRoot(
687
+ YT: string,
688
+ overrides?: CallOverrides
689
+ ): Promise<PopulatedTransaction>;
690
+
629
691
  hashOrder(
630
692
  order: OrderStruct,
631
693
  overrides?: CallOverrides
@@ -641,6 +703,13 @@ export interface IPLimitRouter extends BaseContract {
641
703
  overrides?: CallOverrides
642
704
  ): Promise<PopulatedTransaction>;
643
705
 
706
+ setLnFeeRateRoots(
707
+ YTs: string[],
708
+ lnFeeRateRoots: BigNumberish[],
709
+ allowZeroFees: boolean,
710
+ overrides?: Overrides & { from?: string | Promise<string> }
711
+ ): Promise<PopulatedTransaction>;
712
+
644
713
  simulate(
645
714
  target: string,
646
715
  data: BytesLike,
@@ -68,6 +68,7 @@ export interface IPMarketInterface extends utils.Interface {
68
68
  "burn(address,address,uint256)": FunctionFragment;
69
69
  "decimals()": FunctionFragment;
70
70
  "expiry()": FunctionFragment;
71
+ "factory()": FunctionFragment;
71
72
  "getNonOverrideLnFeeRateRoot()": FunctionFragment;
72
73
  "getRewardTokens()": FunctionFragment;
73
74
  "increaseObservationsCardinalityNext(uint16)": FunctionFragment;
@@ -110,6 +111,7 @@ export interface IPMarketInterface extends utils.Interface {
110
111
  ): string;
111
112
  encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
112
113
  encodeFunctionData(functionFragment: "expiry", values?: undefined): string;
114
+ encodeFunctionData(functionFragment: "factory", values?: undefined): string;
113
115
  encodeFunctionData(
114
116
  functionFragment: "getNonOverrideLnFeeRateRoot",
115
117
  values?: undefined
@@ -187,6 +189,7 @@ export interface IPMarketInterface extends utils.Interface {
187
189
  decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result;
188
190
  decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
189
191
  decodeFunctionResult(functionFragment: "expiry", data: BytesLike): Result;
192
+ decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result;
190
193
  decodeFunctionResult(
191
194
  functionFragment: "getNonOverrideLnFeeRateRoot",
192
195
  data: BytesLike
@@ -425,6 +428,8 @@ export interface IPMarket extends BaseContract {
425
428
 
426
429
  expiry(overrides?: CallOverrides): Promise<[BigNumber]>;
427
430
 
431
+ factory(overrides?: CallOverrides): Promise<[string]>;
432
+
428
433
  getNonOverrideLnFeeRateRoot(
429
434
  overrides?: CallOverrides
430
435
  ): Promise<[BigNumber]>;
@@ -557,6 +562,8 @@ export interface IPMarket extends BaseContract {
557
562
 
558
563
  expiry(overrides?: CallOverrides): Promise<BigNumber>;
559
564
 
565
+ factory(overrides?: CallOverrides): Promise<string>;
566
+
560
567
  getNonOverrideLnFeeRateRoot(overrides?: CallOverrides): Promise<BigNumber>;
561
568
 
562
569
  getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
@@ -689,6 +696,8 @@ export interface IPMarket extends BaseContract {
689
696
 
690
697
  expiry(overrides?: CallOverrides): Promise<BigNumber>;
691
698
 
699
+ factory(overrides?: CallOverrides): Promise<string>;
700
+
692
701
  getNonOverrideLnFeeRateRoot(overrides?: CallOverrides): Promise<BigNumber>;
693
702
 
694
703
  getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
@@ -924,6 +933,8 @@ export interface IPMarket extends BaseContract {
924
933
 
925
934
  expiry(overrides?: CallOverrides): Promise<BigNumber>;
926
935
 
936
+ factory(overrides?: CallOverrides): Promise<BigNumber>;
937
+
927
938
  getNonOverrideLnFeeRateRoot(overrides?: CallOverrides): Promise<BigNumber>;
928
939
 
929
940
  getRewardTokens(overrides?: CallOverrides): Promise<BigNumber>;
@@ -1037,6 +1048,8 @@ export interface IPMarket extends BaseContract {
1037
1048
 
1038
1049
  expiry(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1039
1050
 
1051
+ factory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1052
+
1040
1053
  getNonOverrideLnFeeRateRoot(
1041
1054
  overrides?: CallOverrides
1042
1055
  ): Promise<PopulatedTransaction>;