@pendle/core-v2 6.2.2 → 6.3.0-beta

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 (379) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +13 -0
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +20 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +20 -2
  13. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +6 -24
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  29. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  31. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  33. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.json +19 -0
  35. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +4 -0
  36. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +636 -0
  37. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +4 -0
  38. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +1181 -0
  39. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  41. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +28 -2
  44. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +4 -0
  45. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +608 -0
  46. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +28 -2
  48. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +15 -2
  50. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +27 -2
  52. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  54. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  55. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  56. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  57. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  58. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  59. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  60. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  61. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  62. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  63. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  64. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  65. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  66. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  67. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  68. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +4 -0
  76. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.json +282 -0
  77. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +19 -0
  79. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +58 -0
  84. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +81 -19
  86. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +26 -0
  88. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +13 -0
  93. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +26 -0
  95. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  96. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  97. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  98. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  99. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  100. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  101. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  102. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  103. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  104. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  105. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  106. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  107. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  108. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  109. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +15 -2
  110. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  111. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  112. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  113. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  114. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  115. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +7 -2
  116. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  117. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  118. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  119. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  120. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  121. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  122. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  123. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  124. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  125. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  126. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  127. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  128. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  129. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  130. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  131. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  132. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  133. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  134. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  135. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  136. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  137. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  138. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  139. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +4 -0
  140. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.json +533 -0
  141. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +4 -0
  142. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +889 -0
  143. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +4 -0
  144. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.json +84 -0
  145. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +4 -0
  146. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +24 -0
  147. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  148. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  149. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  150. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  151. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  152. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  153. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  154. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  155. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  156. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  157. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  158. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  159. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  160. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  161. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  162. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  163. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  164. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  165. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  166. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  167. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  168. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  169. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  170. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  171. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  172. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  173. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  174. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  175. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  176. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  177. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  178. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  179. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  180. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  181. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  182. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  183. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  184. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  185. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  186. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  187. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  188. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  189. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  190. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  191. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  192. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  193. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  194. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  195. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  196. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  197. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  198. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  199. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  200. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  201. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  202. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  203. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  204. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  205. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.json +15 -1
  206. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  207. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  208. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  209. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +22 -3
  210. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +6 -2
  211. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +12 -2
  212. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +9 -1
  213. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +10 -14
  214. package/contracts/core/Market/PendleGauge.sol +2 -0
  215. package/contracts/core/Market/{v3/PendleMarketFactoryV3.sol → PendleMarketFactoryV6Upg.sol} +18 -14
  216. package/contracts/core/Market/{v3/PendleMarketV3.sol → PendleMarketV6.sol} +48 -13
  217. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +6 -0
  218. package/contracts/core/YieldContracts/{PendleYieldContractFactory.sol → PendleYieldContractFactoryUpg.sol} +10 -13
  219. package/contracts/core/YieldContracts/PendleYieldToken.sol +6 -0
  220. package/contracts/core/erc20/PendleERC20.sol +12 -0
  221. package/contracts/core/libraries/Errors.sol +7 -0
  222. package/contracts/core/libraries/StringLib.sol +12 -0
  223. package/contracts/interfaces/IPExchangeRateOracleApp.sol +86 -0
  224. package/contracts/interfaces/IPGauge.sol +4 -3
  225. package/contracts/interfaces/IPMarket.sol +8 -2
  226. package/contracts/interfaces/IPMarketFactory.sol +22 -10
  227. package/contracts/interfaces/IPPrincipalToken.sol +4 -0
  228. package/contracts/interfaces/IPYieldContractFactory.sol +2 -0
  229. package/contracts/interfaces/IPYieldToken.sol +4 -0
  230. package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +10 -10
  231. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol +6 -6
  232. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +3 -3
  233. package/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol +23 -0
  234. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol +160 -0
  235. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol +25 -0
  236. package/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol +36 -0
  237. package/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol +9 -0
  238. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +14 -1
  239. package/contracts/router/swap-aggregator/PendleSwap.sol +1 -1
  240. package/deployments/1-core.json +1 -0
  241. package/deployments/10-core.json +1 -0
  242. package/deployments/146-core.json +4 -1
  243. package/deployments/42161-core.json +4 -1
  244. package/deployments/5000-core.json +4 -1
  245. package/deployments/56-core.json +5 -1
  246. package/deployments/80094-core.json +4 -1
  247. package/deployments/8453-core.json +4 -1
  248. package/deployments/9745-core.json +4 -1
  249. package/deployments/999-core.json +4 -1
  250. package/package.json +3 -2
  251. package/typechain-types/ExchangeRateMsgCodec.ts +89 -0
  252. package/typechain-types/IPExchangeRateOracleApp.ts +352 -0
  253. package/typechain-types/IPGauge.ts +19 -0
  254. package/typechain-types/IPMarket.ts +76 -0
  255. package/typechain-types/IPMarketFactory.ts +146 -46
  256. package/typechain-types/IPPrincipalToken.ts +34 -0
  257. package/typechain-types/IPYieldContractFactory.ts +13 -0
  258. package/typechain-types/IPYieldToken.ts +34 -0
  259. package/typechain-types/OAppCoreUpgradeable.ts +320 -0
  260. package/typechain-types/OAppOptionsType3Upgradeable.ts +319 -0
  261. package/typechain-types/OAppReceiverUpgradeable.ts +498 -0
  262. package/typechain-types/OAppSenderUpgradeable.ts +320 -0
  263. package/typechain-types/OAppUpgradeable.ts +498 -0
  264. package/typechain-types/OKXScaleHelper.ts +87 -0
  265. package/typechain-types/OwnableUpgradeable.ts +174 -0
  266. package/typechain-types/PendleCommonPoolDeployHelperV2.ts +7 -1
  267. package/typechain-types/PendleCrossChainOracleBaseApp_Init.ts +662 -0
  268. package/typechain-types/PendleERC20.ts +21 -0
  269. package/typechain-types/PendleExchangeRateOracleApp.ts +1012 -0
  270. package/typechain-types/PendleExchangeRateOracleV2.ts +142 -0
  271. package/typechain-types/PendleGauge.ts +19 -0
  272. package/typechain-types/PendleGaugeControllerBaseUpg.ts +19 -0
  273. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +19 -0
  274. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +19 -0
  275. package/typechain-types/PendleLPWrapper.ts +21 -0
  276. package/typechain-types/PendleMarketFactoryV6Upg.ts +773 -0
  277. package/typechain-types/PendleMarketV6.ts +1248 -0
  278. package/typechain-types/PendlePrincipalToken.ts +34 -0
  279. package/typechain-types/PendleSwap.ts +19 -0
  280. package/typechain-types/PendleVotingControllerUpg.ts +18 -48
  281. package/typechain-types/PendleYieldContractFactoryUpg.ts +820 -0
  282. package/typechain-types/PendleYieldToken.ts +34 -0
  283. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  284. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  285. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  286. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  287. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  288. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  289. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  290. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  291. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  292. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  293. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  294. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  295. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  296. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  297. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  298. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  299. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  300. package/typechain-types/factories/Errors__factory.ts +26 -1
  301. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +81 -0
  302. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  303. package/typechain-types/factories/IPExchangeRateOracleApp__factory.ts +301 -0
  304. package/typechain-types/factories/IPGauge__factory.ts +19 -0
  305. package/typechain-types/factories/IPMarketFactory__factory.ts +81 -19
  306. package/typechain-types/factories/IPMarket__factory.ts +58 -0
  307. package/typechain-types/factories/IPPrincipalToken__factory.ts +26 -0
  308. package/typechain-types/factories/IPYieldContractFactory__factory.ts +13 -0
  309. package/typechain-types/factories/IPYieldToken__factory.ts +26 -0
  310. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  311. package/typechain-types/factories/OAppCoreUpgradeable__factory.ts +228 -0
  312. package/typechain-types/factories/OAppOptionsType3Upgradeable__factory.ts +219 -0
  313. package/typechain-types/factories/OAppReceiverUpgradeable__factory.ts +399 -0
  314. package/typechain-types/factories/OAppSenderUpgradeable__factory.ts +248 -0
  315. package/typechain-types/factories/OAppUpgradeable__factory.ts +411 -0
  316. package/typechain-types/factories/OKXScaleHelper__factory.ts +39 -0
  317. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  318. package/typechain-types/factories/OwnableUpgradeable__factory.ts +91 -0
  319. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  320. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  321. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  322. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +6 -1
  323. package/typechain-types/factories/PendleCrossChainOracleBaseApp_Init__factory.ts +554 -0
  324. package/typechain-types/factories/PendleERC20__factory.ts +14 -1
  325. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +958 -0
  326. package/typechain-types/factories/PendleExchangeRateOracleV2__factory.ts +165 -0
  327. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  328. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  329. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +13 -0
  330. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +23 -1
  331. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +23 -1
  332. package/typechain-types/factories/PendleGauge__factory.ts +19 -0
  333. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  334. package/typechain-types/factories/PendleLPWrapper__factory.ts +14 -1
  335. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  336. package/typechain-types/factories/PendleMarketFactoryV6Upg__factory.ts +732 -0
  337. package/typechain-types/factories/PendleMarketV6__factory.ts +1261 -0
  338. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  339. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  340. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  341. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  342. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  343. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  344. package/typechain-types/factories/PendlePrincipalToken__factory.ts +27 -1
  345. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  346. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  347. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  348. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  349. package/typechain-types/factories/PendleSwap__factory.ts +31 -4
  350. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +5 -23
  351. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +692 -0
  352. package/typechain-types/factories/PendleYieldToken__factory.ts +27 -1
  353. package/typechain-types/factories/Reflector__factory.ts +1 -1
  354. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  355. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  356. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  357. package/typechain-types/hardhat.d.ts +120 -57
  358. package/typechain-types/index.ts +30 -16
  359. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +0 -4
  360. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +0 -610
  361. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +0 -4
  362. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +0 -1131
  363. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +0 -4
  364. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +0 -590
  365. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +0 -4
  366. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +0 -394
  367. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.dbg.json +0 -4
  368. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.json +0 -370
  369. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.dbg.json +0 -4
  370. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.json +0 -246
  371. package/build/artifacts/contracts/interfaces/IPMarketFactoryV3.sol/IPMarketFactoryV3.dbg.json +0 -4
  372. package/build/artifacts/contracts/interfaces/IPMarketFactoryV3.sol/IPMarketFactoryV3.json +0 -202
  373. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +0 -4
  374. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.json +0 -833
  375. package/contracts/core/erc20/PendleERC20Permit.sol +0 -80
  376. package/contracts/core/erc20/PendleERC20PermitUpg.sol +0 -82
  377. package/contracts/core/erc20/PendleERC20Upg.sol +0 -334
  378. package/contracts/interfaces/IPMarketFactoryV3.sol +0 -33
  379. package/contracts/interfaces/IPMarketV3.sol +0 -8
@@ -3,9 +3,9 @@ pragma solidity ^0.8.17;
3
3
 
4
4
  import "../../core/libraries/TokenHelper.sol";
5
5
  import "../../interfaces/IPAllActionV3.sol";
6
- import "../../interfaces/IPMarketFactoryV3.sol";
6
+ import "../../interfaces/IPMarketFactory.sol";
7
7
  import "../../interfaces/IPYieldContractFactory.sol";
8
- import "../../interfaces/IPMarketV3.sol";
8
+ import "../../interfaces/IPMarket.sol";
9
9
  import "./lib/MarketDeployLib.sol";
10
10
 
11
11
  contract PendlePoolDeployHelperV2 is TokenHelper {
@@ -82,7 +82,7 @@ contract PendlePoolDeployHelperV2 is TokenHelper {
82
82
  addrs.SY = SY;
83
83
  (addrs.PT, addrs.YT) = _createPYIfNotExist(SY, params.expiry);
84
84
 
85
- addrs.market = IPMarketFactoryV3(marketFactory).createNewMarket(
85
+ addrs.market = IPMarketFactory(marketFactory).createNewMarket(
86
86
  addrs.PT,
87
87
  params.scalarRoot,
88
88
  params.initialRateAnchor,
@@ -0,0 +1,23 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {OAppUpgradeable, Origin, MessagingFee, MessagingReceipt} from "@layerzerolabs/oapp-evm-upgradeable/contracts/oapp/OAppUpgradeable.sol";
5
+ import {OAppOptionsType3Upgradeable} from "@layerzerolabs/oapp-evm-upgradeable/contracts/oapp/libs/OAppOptionsType3Upgradeable.sol";
6
+
7
+ abstract contract PendleCrossChainOracleBaseApp_Init is OAppUpgradeable, OAppOptionsType3Upgradeable {
8
+ address payable public immutable refundAddress;
9
+
10
+ uint256[100] private __gap;
11
+
12
+ constructor(address _endpoint, address payable _refundAddress) OAppUpgradeable(_endpoint) {
13
+ refundAddress = _refundAddress;
14
+ }
15
+
16
+ function __PendleCrossChainOracleBaseApp_initialize(
17
+ address _owner,
18
+ address _delegate
19
+ ) internal virtual onlyInitializing {
20
+ __OApp_init(_delegate);
21
+ _transferOwnership(_owner);
22
+ }
23
+ }
@@ -0,0 +1,160 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import "../base/PendleCrossChainOracleBaseApp_Init.sol";
5
+ import {ILayerZeroEndpointV2} from "@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol";
6
+ import "../../../interfaces/IPExchangeRateOracleApp.sol";
7
+ import {IStandardizedYield} from "../../../interfaces/IStandardizedYield.sol";
8
+ import {ExchangeRateMsgCodec} from "../libraries/ExchangeRateMsgCodec.sol";
9
+ import {Errors} from "../../../core/libraries/Errors.sol";
10
+
11
+ /**
12
+ * @title PendleExchangeRateOracleApp
13
+ * @notice Cross-chain oracle for Pendle exchange rates using LayerZero
14
+ */
15
+ contract PendleExchangeRateOracleApp is PendleCrossChainOracleBaseApp_Init, IPExchangeRateOracleApp {
16
+ using ExchangeRateMsgCodec for bytes;
17
+ using ExchangeRateMsgCodec for bytes32;
18
+
19
+ uint32 public immutable eid;
20
+ mapping(uint32 srcEid => mapping(bytes32 source => ExchangeRateData)) private feedData;
21
+
22
+ address public allowedSender;
23
+
24
+ modifier validateDstEid(uint32 dstEid) {
25
+ if (dstEid == eid) revert Errors.InvalidDestinationEid();
26
+ _;
27
+ }
28
+
29
+ modifier onlyOwnerOrAllowedSender() {
30
+ require(msg.sender == owner() || msg.sender == allowedSender, "Not authorized");
31
+ _;
32
+ }
33
+
34
+ constructor(
35
+ address _endpoint,
36
+ address payable _refundAddress
37
+ ) PendleCrossChainOracleBaseApp_Init(_endpoint, _refundAddress) {
38
+ _disableInitializers();
39
+ eid = ILayerZeroEndpointV2(_endpoint).eid();
40
+ }
41
+
42
+ function initialize(address _owner, address _delegate, address _allowedSender) external initializer {
43
+ __PendleCrossChainOracleBaseApp_initialize(_owner, _delegate);
44
+ _setAllowedSender(_allowedSender);
45
+ }
46
+
47
+ /// @inheritdoc IPExchangeRateOracleApp
48
+ function quoteSendExchangeRate(
49
+ SendExchangeRateParam calldata sendParam,
50
+ bool payInLzToken
51
+ ) external view returns (MessagingFee memory fee) {
52
+ uint256 exchangeRate = _getExchangeRateFromSource(sendParam.exchangeRateSource);
53
+ (bytes memory message, bytes memory options) = _buildMsgAndOptions(sendParam, exchangeRate);
54
+
55
+ fee = _quote(sendParam.dstEid, message, options, payInLzToken);
56
+ }
57
+
58
+ /// @inheritdoc IPExchangeRateOracleApp
59
+ function sendExchangeRate(
60
+ SendExchangeRateParam calldata sendParam,
61
+ MessagingFee calldata fee
62
+ )
63
+ external
64
+ payable
65
+ onlyOwnerOrAllowedSender
66
+ validateDstEid(sendParam.dstEid)
67
+ returns (MessagingReceipt memory receipt)
68
+ {
69
+ uint256 exchangeRate = _getExchangeRateFromSource(sendParam.exchangeRateSource);
70
+ (bytes memory message, bytes memory options) = _buildMsgAndOptions(sendParam, exchangeRate);
71
+
72
+ receipt = _lzSend(sendParam.dstEid, message, options, fee, refundAddress);
73
+
74
+ emit ExchangeRateSent(receipt.guid, sendParam.dstEid, sendParam.exchangeRateSource, exchangeRate);
75
+ }
76
+
77
+ /// @inheritdoc IPExchangeRateOracleApp
78
+ function getExchangeRate(
79
+ uint32 _srcEid,
80
+ bytes32 exchangeRateSource
81
+ ) external view returns (ExchangeRateData memory exchangeRateData) {
82
+ if (_srcEid == eid) {
83
+ uint256 exchangeRate = _getExchangeRateFromSource(exchangeRateSource.bytes32ToAddress());
84
+ return ExchangeRateData(exchangeRate, block.timestamp);
85
+ }
86
+
87
+ exchangeRateData = feedData[_srcEid][exchangeRateSource];
88
+
89
+ if (exchangeRateData.updatedAt == 0) revert Errors.FeedNotInitialized();
90
+ }
91
+
92
+ function _lzReceive(
93
+ Origin calldata _origin,
94
+ bytes32 _guid,
95
+ bytes calldata _message,
96
+ address /*_executor*/,
97
+ bytes calldata /*_extraData*/
98
+ ) internal override {
99
+ (bytes32 exchangeRateSource, uint256 exchangeRate, uint256 updatedAt) = _message.decodeMessage();
100
+
101
+ bool rateAccepted = _updateExchangeRate(_origin.srcEid, exchangeRateSource, exchangeRate, updatedAt);
102
+
103
+ emit ExchangeRateReceived(_guid, _origin.srcEid, exchangeRateSource, exchangeRate, updatedAt, rateAccepted);
104
+ }
105
+
106
+ function _buildMsgAndOptions(
107
+ SendExchangeRateParam calldata sendParam,
108
+ uint256 exchangeRate
109
+ ) internal view returns (bytes memory message, bytes memory options) {
110
+ uint16 msgType;
111
+
112
+ (msgType, message) = ExchangeRateMsgCodec.encodeExchangeRateMessage(
113
+ sendParam.exchangeRateSource,
114
+ exchangeRate,
115
+ block.timestamp
116
+ );
117
+
118
+ options = combineOptions(sendParam.dstEid, msgType, sendParam.extraOptions);
119
+ }
120
+
121
+ function _getExchangeRateFromSource(address exchangeRateSource) internal view returns (uint256) {
122
+ try IStandardizedYield(exchangeRateSource).exchangeRate() returns (uint256 exchangeRate) {
123
+ return exchangeRate;
124
+ } catch (bytes memory revertData) {
125
+ uint256 length = revertData.length;
126
+ if (length != 0) {
127
+ assembly {
128
+ revert(add(revertData, 32), length)
129
+ }
130
+ }
131
+ revert Errors.ExchangeRateCallFailed();
132
+ }
133
+ }
134
+
135
+ function _updateExchangeRate(
136
+ uint32 _srcEid,
137
+ bytes32 exchangeRateSource,
138
+ uint256 exchangeRate,
139
+ uint256 updatedAt
140
+ ) internal returns (bool rateAccepted) {
141
+ ExchangeRateData storage currentFeedData = feedData[_srcEid][exchangeRateSource];
142
+
143
+ if (updatedAt > currentFeedData.updatedAt) {
144
+ rateAccepted = true;
145
+ currentFeedData.exchangeRate = exchangeRate;
146
+ currentFeedData.updatedAt = updatedAt;
147
+ }
148
+ }
149
+
150
+ // ====== Admin functions ======
151
+
152
+ function setAllowedSender(address _allowedSender) external onlyOwner {
153
+ _setAllowedSender(_allowedSender);
154
+ }
155
+
156
+ function _setAllowedSender(address _allowedSender) internal {
157
+ allowedSender = _allowedSender;
158
+ emit AllowedSenderSet(_allowedSender);
159
+ }
160
+ }
@@ -0,0 +1,25 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {IPExchangeRateOracle} from "../../../interfaces/IPExchangeRateOracle.sol";
5
+ import {IPExchangeRateOracleApp} from "../../../interfaces/IPExchangeRateOracleApp.sol";
6
+
7
+ contract PendleExchangeRateOracleV2 is IPExchangeRateOracle {
8
+ address public immutable exchangeRateOracleApp;
9
+ uint32 public immutable srcEid;
10
+ bytes32 public immutable exchangeRateSource;
11
+
12
+ constructor(address _exchangeRateOracleApp, uint32 _srcEid, bytes32 _exchangeRateSource) {
13
+ exchangeRateOracleApp = _exchangeRateOracleApp;
14
+ srcEid = _srcEid;
15
+ exchangeRateSource = _exchangeRateSource;
16
+ }
17
+
18
+ function getExchangeRate() external view returns (uint256) {
19
+ IPExchangeRateOracleApp.ExchangeRateData memory exchangeRateData = IPExchangeRateOracleApp(
20
+ exchangeRateOracleApp
21
+ ).getExchangeRate(srcEid, exchangeRateSource);
22
+
23
+ return exchangeRateData.exchangeRate;
24
+ }
25
+ }
@@ -0,0 +1,36 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {Errors} from "../../../core/libraries/Errors.sol";
5
+
6
+ library ExchangeRateMsgCodec {
7
+ uint16 public constant SEND_EXCHANGE_RATE = 1;
8
+
9
+ function encodeExchangeRateMessage(
10
+ address exchangeRateSource,
11
+ uint256 exchangeRate,
12
+ uint256 updatedAt
13
+ ) internal pure returns (uint16 msgType, bytes memory message) {
14
+ msgType = SEND_EXCHANGE_RATE;
15
+ message = abi.encode(msgType, exchangeRateSource, exchangeRate, updatedAt);
16
+ }
17
+
18
+ function decodeMessage(
19
+ bytes calldata message
20
+ ) internal pure returns (bytes32 exchangeRateSource, uint256 exchangeRate, uint256 updatedAt) {
21
+ uint16 msgType;
22
+ (msgType, exchangeRateSource, exchangeRate, updatedAt) = abi.decode(
23
+ message,
24
+ (uint16, bytes32, uint256, uint256)
25
+ );
26
+ if (msgType != SEND_EXCHANGE_RATE) revert Errors.InvalidMsgType();
27
+ }
28
+
29
+ function addressToBytes32(address _addr) internal pure returns (bytes32) {
30
+ return bytes32(uint256(uint160(_addr)));
31
+ }
32
+
33
+ function bytes32ToAddress(bytes32 _b) internal pure returns (address) {
34
+ return address(uint160(uint256(_b)));
35
+ }
36
+ }
@@ -46,6 +46,7 @@ library PendleLpOracleLib {
46
46
  uint32 duration,
47
47
  uint256 pyIndex
48
48
  ) private view returns (uint256 lpToAssetRateRaw) {
49
+ _checkMarketReentrancy(market);
49
50
  MarketState memory state = market.readState(address(0));
50
51
 
51
52
  int256 totalHypotheticalAsset;
@@ -83,4 +84,12 @@ library PendleLpOracleLib {
83
84
  int256 rateLastTrade = MarketMathCore._getExchangeRateFromImpliedRate(state.lastLnImpliedRate, timeToExpiry);
84
85
  rateHypTrade = (rateLastTrade + rateOracle) / 2;
85
86
  }
87
+
88
+ function _checkMarketReentrancy(IPMarket market) internal view {
89
+ try market.reentrancyGuardEntered() returns (bool entered) {
90
+ require(entered == false, "ReentrancyGuard: reentrant call");
91
+ } catch {
92
+ return;
93
+ }
94
+ }
86
95
  }
@@ -6,8 +6,18 @@ import "./IPSwapAggregator.sol";
6
6
  import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
7
7
 
8
8
  abstract contract OKXScaleHelper {
9
- address private immutable _tokenApprove = __getTokenApproveForChain(block.chainid);
9
+ address public immutable _tokenApprove;
10
+
11
+ // @dev `allowUnsupportedChain` is a safe guard to prevent deploying this contract on unsupported chains by mistake
12
+ // @dev Please add new `__getTokenApproveForChain` entry when deploying to a new chain.
13
+ constructor(bool allowUnsupportedChain) {
14
+ _tokenApprove = __getTokenApproveForChain(block.chainid);
15
+ if (!allowUnsupportedChain) {
16
+ require(_tokenApprove != address(0), "PendleSwap: OKX chain not supported");
17
+ }
18
+ }
10
19
 
20
+ // https://web3.okx.com/build/dev-docs/dex-api/dex-smart-contract#token-approval
11
21
  function __getTokenApproveForChain(uint256 chainid) private pure returns (address) {
12
22
  if (chainid == 1) {
13
23
  return 0x40aA958dd87FC8305b97f2BA922CDdCa374bcD7f;
@@ -27,6 +37,9 @@ abstract contract OKXScaleHelper {
27
37
  if (chainid == 146) {
28
38
  return 0xD321ab5589d3E8FA5Df985ccFEf625022E2DD910;
29
39
  }
40
+ if (chainid == 9745) {
41
+ return 0x9FD43F5E4c24543b2eBC807321E58e6D350d6a5A;
42
+ }
30
43
  return address(0);
31
44
  }
32
45
 
@@ -23,7 +23,7 @@ contract PendleSwap is
23
23
 
24
24
  address private constant KYBER_SCALING_HELPER = 0x2f577A41BeC1BE1152AeEA12e73b7391d15f655D;
25
25
 
26
- constructor() {
26
+ constructor(bool okx_allowUnsupportedChain) OKXScaleHelper(okx_allowUnsupportedChain) {
27
27
  _disableInitializers();
28
28
  }
29
29
 
@@ -64,6 +64,7 @@
64
64
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
65
65
  "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
66
66
  "cross-chain": {
67
+ "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870",
67
68
  "ptOftAdapterFactory": "0x905aF80C4DE82E0075a19fDE2f5777f1A6636732"
68
69
  }
69
70
  }
@@ -60,6 +60,7 @@
60
60
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
61
61
  "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
62
62
  "cross-chain": {
63
+ "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870",
63
64
  "ptOftAdapterFactory": "0x45Dd4aEcc425b01bf98C567407aB4a4fF3C7d349"
64
65
  }
65
66
  }
@@ -50,5 +50,8 @@
50
50
  },
51
51
  "lpWrapperFactory": "0xeCfEB97D7F070DA5b93c5DC274183F1D7f68532F",
52
52
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
53
- "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5"
53
+ "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
54
+ "cross-chain": {
55
+ "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
56
+ }
54
57
  }
@@ -59,5 +59,8 @@
59
59
  "lpWrapperFactory": "0xdb5dB14819a16642e6736aB0cDFe0156f8E01ddF",
60
60
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
61
61
  "expiredRedeemer": "0x23567b248cd64479384d2e0cbe83522afb8dd446",
62
- "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5"
62
+ "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
63
+ "cross-chain": {
64
+ "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
65
+ }
63
66
  }
@@ -56,5 +56,8 @@
56
56
  },
57
57
  "lpWrapperFactory": "0x6D653C8DAAc8D81c9CE98E038fbF94D7E652e147",
58
58
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
59
- "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5"
59
+ "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
60
+ "cross-chain": {
61
+ "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
62
+ }
60
63
  }
@@ -57,5 +57,9 @@
57
57
  "gaugeController": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
58
58
  "lpWrapperFactory": "0x6f14d3cD37a0647a3eE60eb2214486f8A1CDdccc",
59
59
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
60
- "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5"
60
+ "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
61
+ "fixedPricePTAMM": "0x9B5ddD4B59CC26F4f4238DbC774Fb2dC2860Be46",
62
+ "cross-chain": {
63
+ "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
64
+ }
61
65
  }
@@ -50,5 +50,8 @@
50
50
  "gaugeController": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
51
51
  "lpWrapperFactory": "0x7c0fa6ad8c14aFc85706E28B6ed2d9cbACc47161",
52
52
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
53
- "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5"
53
+ "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
54
+ "cross-chain": {
55
+ "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
56
+ }
54
57
  }
@@ -50,5 +50,8 @@
50
50
  "gaugeController": "0x17F100fB4bE2707675c6439468d38249DD993d58",
51
51
  "lpWrapperFactory": "0xCa274A44a52241c1a8EFb9f84Bf492D8363929FC",
52
52
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
53
- "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5"
53
+ "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
54
+ "cross-chain": {
55
+ "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
56
+ }
54
57
  }
@@ -50,5 +50,8 @@
50
50
  "gaugeController": "0x7e500c6efBb00FD3227888256E477171a1304721",
51
51
  "lpWrapperFactory": "0x1fBaCedf510dAA79dfD9B41227A7ba192d5D548D",
52
52
  "decimalsFactory": "0x992EC6A490A4B7f256bd59E63746951D98B29Be9",
53
- "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5"
53
+ "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
54
+ "cross-chain": {
55
+ "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
56
+ }
54
57
  }
@@ -51,5 +51,8 @@
51
51
  "lpWrapperFactory": "0xcb645C93820B92E5F21781C5c3c18C29BCb6126B",
52
52
  "decimalsFactory": "0xF2a26C2eb3c4098e03807442196FbA7f78b125a2",
53
53
  "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
54
- "fixedPricePTAMM": "0xF0bF560F01d4196773a5c58A09d6D34b6bba4503"
54
+ "fixedPricePTAMM": "0xF0bF560F01d4196773a5c58A09d6D34b6bba4503",
55
+ "cross-chain": {
56
+ "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
57
+ }
55
58
  }
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.2.2",
5
+ "version": "6.3.0-beta",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -43,11 +43,12 @@
43
43
  "format": "yarn prettier -w contracts/**/*",
44
44
  "prepack": "yarn compile"
45
45
  },
46
- "packageManager": "yarn@4.9.2",
46
+ "packageManager": "yarn@4.10.3+sha512.c38cafb5c7bb273f3926d04e55e1d8c9dfa7d9c3ea1f36a4868fa028b9e5f72298f0b7f401ad5eb921749eb012eb1c3bb74bf7503df3ee43fd600d14a018266f",
47
47
  "dependencies": {
48
48
  "@chainlink/contracts": "^0.8.0",
49
49
  "@layerzerolabs/lz-evm-protocol-v2": "^3.0.75",
50
50
  "@layerzerolabs/oapp-evm": "^0.3.2",
51
+ "@layerzerolabs/oapp-evm-upgradeable": "^0.1.2",
51
52
  "@layerzerolabs/oft-evm": "^3.1.4",
52
53
  "@openzeppelin/contracts": "4.9.3",
53
54
  "@openzeppelin/contracts-upgradeable": "4.9.3",
@@ -0,0 +1,89 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BytesLike,
8
+ CallOverrides,
9
+ PopulatedTransaction,
10
+ Signer,
11
+ utils,
12
+ } from "ethers";
13
+ import { FunctionFragment, Result } from "@ethersproject/abi";
14
+ import { Listener, Provider } from "@ethersproject/providers";
15
+ import type {
16
+ TypedEventFilter,
17
+ TypedEvent,
18
+ TypedListener,
19
+ OnEvent,
20
+ } from "./common";
21
+
22
+ export interface ExchangeRateMsgCodecInterface extends utils.Interface {
23
+ contractName: "ExchangeRateMsgCodec";
24
+ functions: {
25
+ "SEND_EXCHANGE_RATE()": FunctionFragment;
26
+ };
27
+
28
+ encodeFunctionData(
29
+ functionFragment: "SEND_EXCHANGE_RATE",
30
+ values?: undefined
31
+ ): string;
32
+
33
+ decodeFunctionResult(
34
+ functionFragment: "SEND_EXCHANGE_RATE",
35
+ data: BytesLike
36
+ ): Result;
37
+
38
+ events: {};
39
+ }
40
+
41
+ export interface ExchangeRateMsgCodec extends BaseContract {
42
+ contractName: "ExchangeRateMsgCodec";
43
+ connect(signerOrProvider: Signer | Provider | string): this;
44
+ attach(addressOrName: string): this;
45
+ deployed(): Promise<this>;
46
+
47
+ interface: ExchangeRateMsgCodecInterface;
48
+
49
+ queryFilter<TEvent extends TypedEvent>(
50
+ event: TypedEventFilter<TEvent>,
51
+ fromBlockOrBlockhash?: string | number | undefined,
52
+ toBlock?: string | number | undefined
53
+ ): Promise<Array<TEvent>>;
54
+
55
+ listeners<TEvent extends TypedEvent>(
56
+ eventFilter?: TypedEventFilter<TEvent>
57
+ ): Array<TypedListener<TEvent>>;
58
+ listeners(eventName?: string): Array<Listener>;
59
+ removeAllListeners<TEvent extends TypedEvent>(
60
+ eventFilter: TypedEventFilter<TEvent>
61
+ ): this;
62
+ removeAllListeners(eventName?: string): this;
63
+ off: OnEvent<this>;
64
+ on: OnEvent<this>;
65
+ once: OnEvent<this>;
66
+ removeListener: OnEvent<this>;
67
+
68
+ functions: {
69
+ SEND_EXCHANGE_RATE(overrides?: CallOverrides): Promise<[number]>;
70
+ };
71
+
72
+ SEND_EXCHANGE_RATE(overrides?: CallOverrides): Promise<number>;
73
+
74
+ callStatic: {
75
+ SEND_EXCHANGE_RATE(overrides?: CallOverrides): Promise<number>;
76
+ };
77
+
78
+ filters: {};
79
+
80
+ estimateGas: {
81
+ SEND_EXCHANGE_RATE(overrides?: CallOverrides): Promise<BigNumber>;
82
+ };
83
+
84
+ populateTransaction: {
85
+ SEND_EXCHANGE_RATE(
86
+ overrides?: CallOverrides
87
+ ): Promise<PopulatedTransaction>;
88
+ };
89
+ }