@pendle/core-v2 2.3.2-mainnet → 2.5.0-mainnet

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/build/artifacts/contracts/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/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  28. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  30. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  34. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  36. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  38. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  40. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  42. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +2 -2
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +4 -0
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +1157 -0
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  72. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  74. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  76. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  78. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  80. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  82. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  84. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +18 -2
  86. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +4 -0
  99. package/build/artifacts/contracts/interfaces/{IStargatePool.sol/IStargatePool.json → IStargateLP.sol/IStargateLP.json} +68 -3
  100. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +4 -0
  101. package/build/artifacts/contracts/interfaces/{IStargateLPStaking.sol/IStargateLPStaking.json → IStargateStaking.sol/IStargateStaking.json} +20 -27
  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/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  105. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  106. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  107. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  108. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  109. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  110. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  111. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  112. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  113. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  114. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  115. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  116. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  117. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  118. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  119. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  120. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  121. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  122. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  123. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  124. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  125. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  126. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  127. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  128. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  129. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  130. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  131. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  132. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  133. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  134. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  135. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  136. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  137. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  138. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +1 -1
  139. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +2 -2
  140. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +1 -1
  141. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +2 -2
  142. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  143. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +1 -1
  144. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +1 -1
  145. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +1 -1
  146. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  147. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +1 -1
  148. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +1 -1
  149. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  150. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +1 -1
  151. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +1 -1
  152. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  153. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +1 -1
  154. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +1 -1
  155. package/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol +222 -0
  156. package/contracts/core/libraries/Errors.sol +2 -0
  157. package/contracts/interfaces/{IStargatePool.sol → IStargateLP.sol} +14 -1
  158. package/contracts/interfaces/{IStargateLPStaking.sol → IStargateStaking.sol} +2 -2
  159. package/deployments/1-core.json +3 -2
  160. package/deployments/1-markets/STARGATE-USDT-27JUNE2024-ETHEREUM.json +10 -0
  161. package/deployments/1-markets/STETH-26DEC2024.json +10 -0
  162. package/deployments/42161-core.json +3 -2
  163. package/deployments/42161-markets/STARGATE-USDT-27JUNE2024-ARBITRUM.json +10 -0
  164. package/package.json +1 -1
  165. package/typechain-types/IChainlinkAggregator.ts +246 -0
  166. package/typechain-types/IPLiquidityMigrator.ts +565 -0
  167. package/typechain-types/IPRouterHelper.ts +638 -0
  168. package/typechain-types/ISiloPriceProvider.ts +150 -0
  169. package/typechain-types/PendlePtOracleBase.ts +26 -0
  170. package/typechain-types/PendleRouterHelper.ts +746 -0
  171. package/typechain-types/PendleStargateLPSY.ts +1442 -0
  172. package/typechain-types/PtFraxUsdcOracle.ts +202 -0
  173. package/typechain-types/PtStETHOracle.ts +189 -0
  174. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  175. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  176. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  177. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  178. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  179. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  180. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  181. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  182. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  183. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  184. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  185. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  186. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  187. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  188. package/typechain-types/factories/Errors__factory.ts +17 -1
  189. package/typechain-types/factories/IChainlinkAggregator__factory.ts +170 -0
  190. package/typechain-types/factories/IPLiquidityMigrator__factory.ts +677 -0
  191. package/typechain-types/factories/IPRouterHelper__factory.ts +763 -0
  192. package/typechain-types/factories/ISiloPriceProvider__factory.ts +90 -0
  193. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  194. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1 -1
  195. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  196. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
  197. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  198. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  199. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  200. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  201. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  202. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  203. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  204. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  205. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  206. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  207. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  208. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  209. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  210. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  211. package/typechain-types/factories/PendlePtOracleBase__factory.ts +26 -0
  212. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  213. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  214. package/typechain-types/factories/PendleRouterHelper__factory.ts +953 -0
  215. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  216. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  217. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1241 -0
  218. package/typechain-types/factories/PendleSwapAggregator__factory.ts +1 -1
  219. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +1 -1
  220. package/typechain-types/factories/PendleSwapEthereum__factory.ts +1 -1
  221. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  222. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  223. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  224. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  225. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  226. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  227. package/typechain-types/factories/PtFraxUsdcOracle__factory.ts +252 -0
  228. package/typechain-types/factories/PtStETHOracle__factory.ts +227 -0
  229. package/typechain-types/factories/SAPE__factory.ts +1 -1
  230. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  231. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  232. package/typechain-types/hardhat.d.ts +54 -0
  233. package/typechain-types/index.ts +12 -0
  234. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +0 -4
  235. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +0 -4
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/92d54f9b76a0207ec4375fc6c12319a9.json"
3
+ "buildInfo": "../../../../../../build-info/c3489c617a6ecbf681f91df4f40237bf.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/92d54f9b76a0207ec4375fc6c12319a9.json"
3
+ "buildInfo": "../../../../../../build-info/c3489c617a6ecbf681f91df4f40237bf.json"
4
4
  }
@@ -0,0 +1,222 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../SYBaseWithRewards.sol";
5
+ import "../../../interfaces/IStargateRouter.sol";
6
+ import "../../../interfaces/IStargateLP.sol";
7
+ import "../../../interfaces/IStargateStaking.sol";
8
+
9
+ contract PendleStargateLPSY is SYBaseWithRewards {
10
+ uint256 public constant STARGATE_BP_DENOMINATOR = 10000;
11
+
12
+ using Math for uint256;
13
+
14
+ uint16 public immutable pid; // pool id
15
+ uint256 public immutable sid; // staking id
16
+ address public immutable lp;
17
+ address public immutable underlying;
18
+ address public immutable stargateRouter;
19
+ address public immutable stargateStaking;
20
+ address public immutable stgToken;
21
+
22
+ // preview variables
23
+ uint256 public immutable convertRate;
24
+
25
+ constructor(
26
+ string memory _name,
27
+ string memory _symbol,
28
+ address _stargateLP,
29
+ address _stargateStaking,
30
+ uint256 _sid
31
+ ) SYBaseWithRewards(_name, _symbol, _stargateLP) {
32
+ lp = _stargateLP;
33
+ underlying = IStargateLP(lp).token();
34
+
35
+ stargateRouter = IStargateLP(lp).router();
36
+ pid = uint16(IStargateLP(lp).poolId());
37
+
38
+ stargateStaking = _stargateStaking;
39
+ sid = _sid;
40
+
41
+ stgToken = IStargateStaking(stargateStaking).stargate();
42
+
43
+ // preview variables
44
+ convertRate = IStargateLP(lp).convertRate();
45
+
46
+ _safeApproveInf(underlying, stargateRouter);
47
+ _safeApproveInf(lp, stargateStaking);
48
+
49
+ _validateStargateStakingId(stargateStaking, sid, lp);
50
+ }
51
+
52
+ function _validateStargateStakingId(
53
+ address staking,
54
+ uint256 id,
55
+ address lpToken
56
+ ) internal view {
57
+ (address _lpToken, , , ) = IStargateStaking(staking).poolInfo(id);
58
+ // Custom error not needed here since this only happens on deployment
59
+ require(_lpToken == lpToken, "invalid sid & lpToken");
60
+ }
61
+
62
+ /*///////////////////////////////////////////////////////////////
63
+ DEPOSIT/REDEEM USING BASE TOKENS
64
+ //////////////////////////////////////////////////////////////*/
65
+
66
+ /**
67
+ * The underlying yield token is startgateLP. If the base token deposited is underlying, the function
68
+ * deposits received underlying into the startgateLP contract.
69
+ */
70
+ function _deposit(
71
+ address tokenIn,
72
+ uint256 amountDeposited
73
+ ) internal virtual override returns (uint256 amountSharesOut) {
74
+ if (tokenIn == underlying) {
75
+ IStargateRouter(stargateRouter).addLiquidity(pid, amountDeposited, address(this));
76
+ amountSharesOut = _selfBalance(lp);
77
+ // all outstanding LP will be staked
78
+ } else {
79
+ amountSharesOut = amountDeposited;
80
+ }
81
+ IStargateStaking(stargateStaking).deposit(sid, amountSharesOut);
82
+ }
83
+
84
+ function _redeem(
85
+ address receiver,
86
+ address tokenOut,
87
+ uint256 amountSharesToRedeem
88
+ ) internal virtual override returns (uint256 amountTokenOut) {
89
+ IStargateStaking(stargateStaking).withdraw(sid, amountSharesToRedeem);
90
+ if (tokenOut == lp) {
91
+ amountTokenOut = amountSharesToRedeem;
92
+ _transferOut(lp, receiver, amountTokenOut);
93
+ } else {
94
+ /**
95
+ * @dev There is an lp cap variable in stargate to define the maximum amount of lp
96
+ * which can be burned.
97
+ * In case there is not enough liquidity in the pool to proceed the withdrawal,
98
+ * stargatePool will not revert and try to withdraw as much lp as it can instead.
99
+ *
100
+ * When this rare case happens, Pendle's SY should guarantee to revert.
101
+ */
102
+
103
+ uint256 preBalanceLp = _selfBalance(lp);
104
+
105
+ uint256 amountSD = IStargateRouter(stargateRouter).instantRedeemLocal(
106
+ pid,
107
+ amountSharesToRedeem,
108
+ receiver
109
+ );
110
+ uint256 lpUsed = preBalanceLp - _selfBalance(lp);
111
+ if (lpUsed < amountSharesToRedeem) {
112
+ revert Errors.SYStargateRedeemCapExceeded(amountSharesToRedeem, lpUsed);
113
+ }
114
+
115
+ amountTokenOut = amountSD * convertRate;
116
+ }
117
+ }
118
+
119
+ /*///////////////////////////////////////////////////////////////
120
+ EXCHANGE-RATE
121
+ //////////////////////////////////////////////////////////////*/
122
+
123
+ /**
124
+ * @notice Calculates and updates the exchange rate of shares to underlying asset token
125
+ * @dev It is the exchange rate of lp to underlying
126
+ */
127
+ function exchangeRate() public view virtual override returns (uint256) {
128
+ return
129
+ IStargateLP(lp).totalLiquidity().divDown(IStargateLP(lp).totalSupply()) * convertRate;
130
+ }
131
+
132
+ /*///////////////////////////////////////////////////////////////
133
+ REWARDS-RELATED
134
+ //////////////////////////////////////////////////////////////*/
135
+
136
+ /**
137
+ * @dev See {IStandardizedYield-getRewardTokens}
138
+ */
139
+ function _getRewardTokens() internal view override returns (address[] memory res) {
140
+ res = new address[](1);
141
+ res[0] = stgToken;
142
+ }
143
+
144
+ function _redeemExternalReward() internal override {
145
+ IStargateStaking(stargateStaking).withdraw(sid, 0);
146
+ }
147
+
148
+ /*///////////////////////////////////////////////////////////////
149
+ MISC FUNCTIONS FOR METADATA
150
+ //////////////////////////////////////////////////////////////*/
151
+
152
+ function _previewDeposit(
153
+ address tokenIn,
154
+ uint256 amountTokenToDeposit
155
+ ) internal view override returns (uint256 amountSharesOut) {
156
+ if (tokenIn == lp) {
157
+ amountSharesOut = amountTokenToDeposit;
158
+ } else {
159
+ uint256 totalLiquidity = IStargateLP(lp).totalLiquidity();
160
+ uint256 totalSupply = IStargateLP(lp).totalSupply();
161
+ uint256 mintFeeBP = IStargateLP(lp).mintFeeBP();
162
+
163
+ uint256 amountSD = amountTokenToDeposit / convertRate;
164
+
165
+ // Tho fee is always enabled, it is currently set to zero
166
+ uint256 mintFeeSD = (amountSD * mintFeeBP) / STARGATE_BP_DENOMINATOR;
167
+ amountSD = amountSD - mintFeeSD;
168
+
169
+ // skip check for lp.totalSupply() == 0
170
+ amountSharesOut = (amountSD * totalSupply) / totalLiquidity;
171
+ }
172
+ }
173
+
174
+ function _previewRedeem(
175
+ address tokenOut,
176
+ uint256 amountSharesToRedeem
177
+ ) internal view override returns (uint256 amountTokenOut) {
178
+ if (tokenOut == lp) {
179
+ amountTokenOut = amountSharesToRedeem;
180
+ } else {
181
+ uint256 totalLiquidity = IStargateLP(lp).totalLiquidity();
182
+ uint256 totalSupply = IStargateLP(lp).totalSupply();
183
+ uint256 deltaCredit = IStargateLP(lp).deltaCredit();
184
+
185
+ uint256 capAmountLp = (deltaCredit * totalSupply) / totalLiquidity;
186
+ if (amountSharesToRedeem > capAmountLp) {
187
+ revert Errors.SYStargateRedeemCapExceeded(amountSharesToRedeem, capAmountLp);
188
+ }
189
+
190
+ uint256 amountSD = (amountSharesToRedeem * totalLiquidity) / totalSupply;
191
+ amountTokenOut = amountSD * convertRate;
192
+ }
193
+ }
194
+
195
+ function getTokensIn() public view virtual override returns (address[] memory res) {
196
+ res = new address[](2);
197
+ res[0] = underlying;
198
+ res[1] = lp;
199
+ }
200
+
201
+ function getTokensOut() public view virtual override returns (address[] memory res) {
202
+ res = new address[](2);
203
+ res[0] = underlying;
204
+ res[1] = lp;
205
+ }
206
+
207
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
208
+ return token == underlying || token == lp;
209
+ }
210
+
211
+ function isValidTokenOut(address token) public view virtual override returns (bool) {
212
+ return token == underlying || token == lp;
213
+ }
214
+
215
+ function assetInfo()
216
+ external
217
+ view
218
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
219
+ {
220
+ return (AssetType.TOKEN, underlying, IERC20Metadata(underlying).decimals());
221
+ }
222
+ }
@@ -114,6 +114,8 @@ library Errors {
114
114
  error SYBalancerInvalidPid();
115
115
  error SYInvalidRewardToken(address token);
116
116
 
117
+ error SYStargateRedeemCapExceeded(uint256 amountLpDesired, uint256 amountLpRedeemable);
118
+
117
119
  // Liquidity Mining
118
120
  error VCInactivePool(address pool);
119
121
  error VCPoolAlreadyActive(address pool);
@@ -22,7 +22,9 @@
22
22
  */
23
23
  pragma solidity 0.8.17;
24
24
 
25
- interface IStargatePool {
25
+ interface IStargateLP {
26
+
27
+
26
28
  struct SwapObj {
27
29
  uint256 amount;
28
30
  uint256 eqFee;
@@ -45,5 +47,16 @@ interface IStargatePool {
45
47
 
46
48
  function token() external view returns (address);
47
49
 
50
+ function router() external view returns (address);
51
+
52
+ function totalSupply() external view returns (uint256);
53
+
48
54
  function totalLiquidity() external view returns (uint256);
55
+
56
+ function mintFeeBP() external view returns (uint256);
57
+
58
+ function convertRate() external view returns (uint256);
59
+
60
+ function deltaCredit() external view returns (uint256);
61
+
49
62
  }
@@ -22,7 +22,7 @@
22
22
  */
23
23
  pragma solidity 0.8.17;
24
24
 
25
- interface IStargateLPStaking {
25
+ interface IStargateStaking {
26
26
  struct PoolInfo {
27
27
  address lpToken; // Address of LP token contract.
28
28
  uint256 allocPoint; // How many allocation points assigned to this pool. STGs to distribute per block.
@@ -41,7 +41,7 @@ interface IStargateLPStaking {
41
41
 
42
42
  function withdraw(uint256 _pid, uint256 _amount) external;
43
43
 
44
- function poolInfo(uint256 _pid) external view returns (PoolInfo memory);
44
+ function poolInfo(uint256 _pid) external view returns (address, uint256, uint256, uint256);
45
45
 
46
46
  function userInfo(uint256 _pid, address _user) external view returns (UserInfo memory);
47
47
  }
@@ -22,10 +22,11 @@
22
22
  "bulkSellerOffchain": "0x9ACc60F915dFcd190D270fc92567aE71776bd320",
23
23
  "router": "0x0000000001e4ef00d069e71d6ba041b0a16f7ea0",
24
24
  "routerStatic": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
25
- "pendleSwap": "0x2065e12735D678B23eC926603180c96623d5af41",
25
+ "pendleSwap": "0x38812C3AC3563Bf200482ac9D096952D7cB55f9b",
26
26
  "vePendle": "0x4f30A9D41B80ecC5B94306AB4364951AE3170210",
27
27
  "senderEndpoint": "0x07b1014c88f14C9E910092526db57A20052E989F",
28
28
  "votingController": "0x44087E105137a5095c008AaB6a6530182821F2F0",
29
29
  "gaugeController": "0x47D74516B33eD5D70ddE7119A40839f6Fcc24e57",
30
- "feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2"
30
+ "feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2",
31
+ "routerHelper": "0xeb984195D54Df02BaF757e21B0705032FaEFde2E"
31
32
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "SY Stargate USDT",
3
+ "SY": "0x3025680925349c9C01c0F01cf300EC963832ec64",
4
+ "YT": "0x9Ba9D392bE8b4CA159b1934E531D13Ad66dA023C",
5
+ "PT": "0x9014F29610E904c8269726c74ebc79f5d512DAfD",
6
+ "market": "0x30e0dC9a1D33EAc83211a1113de238b3Ce826950",
7
+ "expiry": 1719446400,
8
+ "scalarRoot": "57668010000000000000",
9
+ "initAnchor": "1079801000000000000"
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "SY stETH",
3
+ "SY": "0xcbC72d92b2dc8187414F6734718563898740C0BC",
4
+ "YT": "0xc3863CCcd012f8E45D72Ec87c5A9C4F77e1C7549",
5
+ "PT": "0x7758896b6AC966BbABcf143eFA963030f17D3EdF",
6
+ "market": "0xD0354D4e7bCf345fB117cabe41aCaDb724eccCa2",
7
+ "expiry": 1735171200,
8
+ "scalarRoot": "76568950000000000000",
9
+ "initAnchor": "1104003000000000000"
10
+ }
@@ -19,8 +19,9 @@
19
19
  "marketFactory": "0xf5a7De2D276dbda3EEf1b62A9E718EFf4d29dDC8",
20
20
  "router": "0x0000000001e4ef00d069e71d6ba041b0a16f7ea0",
21
21
  "routerStatic": "0xAdB09F65bd90d19e3148D9ccb693F3161C6DB3E8",
22
- "pendleSwap": "0x4546FF0fbc6fb29916Ca56b4F95744B0b356112C",
22
+ "pendleSwap": "0xDa78D46C4133EA548386e64eaca26FC456F71D2d",
23
23
  "receiverEndpoint": "0xC9215ae9EC67385F38C755D862C8eE3702B5793A",
24
24
  "vePendle": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
25
- "gaugeController": "0x1e56299ebc8a1010cec26005d12e3e5c5cc2db00"
25
+ "gaugeController": "0x1e56299ebc8a1010cec26005d12e3e5c5cc2db00",
26
+ "routerHelper": "0xeb984195D54Df02BaF757e21B0705032FaEFde2E"
26
27
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "SY Stargate USDT",
3
+ "SY": "0x068DEf65B9dbAFf02b4ee54572a9Fa7dFb188EA3",
4
+ "YT": "0x0AdEd315d2e51F676a2Aa8d2bc6A79C88e0F1c1a",
5
+ "PT": "0x7D180a4f451FC15B543B5d1Ba7dDa6b3014A4c49",
6
+ "market": "0x0A21291A184cf36aD3B0a0def4A17C12Cbd66A14",
7
+ "expiry": 1719446400,
8
+ "scalarRoot": "55429700000000000000",
9
+ "initAnchor": "1081744000000000000"
10
+ }
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": "2.3.2-mainnet",
5
+ "version": "2.5.0-mainnet",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -0,0 +1,246 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ PopulatedTransaction,
11
+ Signer,
12
+ utils,
13
+ } from "ethers";
14
+ import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
15
+ import { Listener, Provider } from "@ethersproject/providers";
16
+ import type {
17
+ TypedEventFilter,
18
+ TypedEvent,
19
+ TypedListener,
20
+ OnEvent,
21
+ } from "./common";
22
+
23
+ export interface IChainlinkAggregatorInterface extends utils.Interface {
24
+ contractName: "IChainlinkAggregator";
25
+ functions: {
26
+ "decimals()": FunctionFragment;
27
+ "getAnswer(uint256)": FunctionFragment;
28
+ "getTimestamp(uint256)": FunctionFragment;
29
+ "latestAnswer()": FunctionFragment;
30
+ "latestRound()": FunctionFragment;
31
+ "latestTimestamp()": FunctionFragment;
32
+ };
33
+
34
+ encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
35
+ encodeFunctionData(
36
+ functionFragment: "getAnswer",
37
+ values: [BigNumberish]
38
+ ): string;
39
+ encodeFunctionData(
40
+ functionFragment: "getTimestamp",
41
+ values: [BigNumberish]
42
+ ): string;
43
+ encodeFunctionData(
44
+ functionFragment: "latestAnswer",
45
+ values?: undefined
46
+ ): string;
47
+ encodeFunctionData(
48
+ functionFragment: "latestRound",
49
+ values?: undefined
50
+ ): string;
51
+ encodeFunctionData(
52
+ functionFragment: "latestTimestamp",
53
+ values?: undefined
54
+ ): string;
55
+
56
+ decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
57
+ decodeFunctionResult(functionFragment: "getAnswer", data: BytesLike): Result;
58
+ decodeFunctionResult(
59
+ functionFragment: "getTimestamp",
60
+ data: BytesLike
61
+ ): Result;
62
+ decodeFunctionResult(
63
+ functionFragment: "latestAnswer",
64
+ data: BytesLike
65
+ ): Result;
66
+ decodeFunctionResult(
67
+ functionFragment: "latestRound",
68
+ data: BytesLike
69
+ ): Result;
70
+ decodeFunctionResult(
71
+ functionFragment: "latestTimestamp",
72
+ data: BytesLike
73
+ ): Result;
74
+
75
+ events: {
76
+ "AnswerUpdated(int256,uint256,uint256)": EventFragment;
77
+ "NewRound(uint256,address,uint256)": EventFragment;
78
+ };
79
+
80
+ getEvent(nameOrSignatureOrTopic: "AnswerUpdated"): EventFragment;
81
+ getEvent(nameOrSignatureOrTopic: "NewRound"): EventFragment;
82
+ }
83
+
84
+ export type AnswerUpdatedEvent = TypedEvent<
85
+ [BigNumber, BigNumber, BigNumber],
86
+ { current: BigNumber; roundId: BigNumber; updatedAt: BigNumber }
87
+ >;
88
+
89
+ export type AnswerUpdatedEventFilter = TypedEventFilter<AnswerUpdatedEvent>;
90
+
91
+ export type NewRoundEvent = TypedEvent<
92
+ [BigNumber, string, BigNumber],
93
+ { roundId: BigNumber; startedBy: string; startedAt: BigNumber }
94
+ >;
95
+
96
+ export type NewRoundEventFilter = TypedEventFilter<NewRoundEvent>;
97
+
98
+ export interface IChainlinkAggregator extends BaseContract {
99
+ contractName: "IChainlinkAggregator";
100
+ connect(signerOrProvider: Signer | Provider | string): this;
101
+ attach(addressOrName: string): this;
102
+ deployed(): Promise<this>;
103
+
104
+ interface: IChainlinkAggregatorInterface;
105
+
106
+ queryFilter<TEvent extends TypedEvent>(
107
+ event: TypedEventFilter<TEvent>,
108
+ fromBlockOrBlockhash?: string | number | undefined,
109
+ toBlock?: string | number | undefined
110
+ ): Promise<Array<TEvent>>;
111
+
112
+ listeners<TEvent extends TypedEvent>(
113
+ eventFilter?: TypedEventFilter<TEvent>
114
+ ): Array<TypedListener<TEvent>>;
115
+ listeners(eventName?: string): Array<Listener>;
116
+ removeAllListeners<TEvent extends TypedEvent>(
117
+ eventFilter: TypedEventFilter<TEvent>
118
+ ): this;
119
+ removeAllListeners(eventName?: string): this;
120
+ off: OnEvent<this>;
121
+ on: OnEvent<this>;
122
+ once: OnEvent<this>;
123
+ removeListener: OnEvent<this>;
124
+
125
+ functions: {
126
+ decimals(overrides?: CallOverrides): Promise<[number]>;
127
+
128
+ getAnswer(
129
+ roundId: BigNumberish,
130
+ overrides?: CallOverrides
131
+ ): Promise<[BigNumber]>;
132
+
133
+ getTimestamp(
134
+ roundId: BigNumberish,
135
+ overrides?: CallOverrides
136
+ ): Promise<[BigNumber]>;
137
+
138
+ latestAnswer(overrides?: CallOverrides): Promise<[BigNumber]>;
139
+
140
+ latestRound(overrides?: CallOverrides): Promise<[BigNumber]>;
141
+
142
+ latestTimestamp(overrides?: CallOverrides): Promise<[BigNumber]>;
143
+ };
144
+
145
+ decimals(overrides?: CallOverrides): Promise<number>;
146
+
147
+ getAnswer(
148
+ roundId: BigNumberish,
149
+ overrides?: CallOverrides
150
+ ): Promise<BigNumber>;
151
+
152
+ getTimestamp(
153
+ roundId: BigNumberish,
154
+ overrides?: CallOverrides
155
+ ): Promise<BigNumber>;
156
+
157
+ latestAnswer(overrides?: CallOverrides): Promise<BigNumber>;
158
+
159
+ latestRound(overrides?: CallOverrides): Promise<BigNumber>;
160
+
161
+ latestTimestamp(overrides?: CallOverrides): Promise<BigNumber>;
162
+
163
+ callStatic: {
164
+ decimals(overrides?: CallOverrides): Promise<number>;
165
+
166
+ getAnswer(
167
+ roundId: BigNumberish,
168
+ overrides?: CallOverrides
169
+ ): Promise<BigNumber>;
170
+
171
+ getTimestamp(
172
+ roundId: BigNumberish,
173
+ overrides?: CallOverrides
174
+ ): Promise<BigNumber>;
175
+
176
+ latestAnswer(overrides?: CallOverrides): Promise<BigNumber>;
177
+
178
+ latestRound(overrides?: CallOverrides): Promise<BigNumber>;
179
+
180
+ latestTimestamp(overrides?: CallOverrides): Promise<BigNumber>;
181
+ };
182
+
183
+ filters: {
184
+ "AnswerUpdated(int256,uint256,uint256)"(
185
+ current?: BigNumberish | null,
186
+ roundId?: BigNumberish | null,
187
+ updatedAt?: null
188
+ ): AnswerUpdatedEventFilter;
189
+ AnswerUpdated(
190
+ current?: BigNumberish | null,
191
+ roundId?: BigNumberish | null,
192
+ updatedAt?: null
193
+ ): AnswerUpdatedEventFilter;
194
+
195
+ "NewRound(uint256,address,uint256)"(
196
+ roundId?: BigNumberish | null,
197
+ startedBy?: string | null,
198
+ startedAt?: null
199
+ ): NewRoundEventFilter;
200
+ NewRound(
201
+ roundId?: BigNumberish | null,
202
+ startedBy?: string | null,
203
+ startedAt?: null
204
+ ): NewRoundEventFilter;
205
+ };
206
+
207
+ estimateGas: {
208
+ decimals(overrides?: CallOverrides): Promise<BigNumber>;
209
+
210
+ getAnswer(
211
+ roundId: BigNumberish,
212
+ overrides?: CallOverrides
213
+ ): Promise<BigNumber>;
214
+
215
+ getTimestamp(
216
+ roundId: BigNumberish,
217
+ overrides?: CallOverrides
218
+ ): Promise<BigNumber>;
219
+
220
+ latestAnswer(overrides?: CallOverrides): Promise<BigNumber>;
221
+
222
+ latestRound(overrides?: CallOverrides): Promise<BigNumber>;
223
+
224
+ latestTimestamp(overrides?: CallOverrides): Promise<BigNumber>;
225
+ };
226
+
227
+ populateTransaction: {
228
+ decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
229
+
230
+ getAnswer(
231
+ roundId: BigNumberish,
232
+ overrides?: CallOverrides
233
+ ): Promise<PopulatedTransaction>;
234
+
235
+ getTimestamp(
236
+ roundId: BigNumberish,
237
+ overrides?: CallOverrides
238
+ ): Promise<PopulatedTransaction>;
239
+
240
+ latestAnswer(overrides?: CallOverrides): Promise<PopulatedTransaction>;
241
+
242
+ latestRound(overrides?: CallOverrides): Promise<PopulatedTransaction>;
243
+
244
+ latestTimestamp(overrides?: CallOverrides): Promise<PopulatedTransaction>;
245
+ };
246
+ }