@pendle/core-v2 2.18.0 → 2.19.0-tradingbot

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 (437) 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/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  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 +2 -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 +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  46. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  102. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +4 -0
  103. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +1215 -0
  104. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
  105. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol/LongYieldTradingBot.json +1681 -0
  106. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol/ShortYieldDecisionHelper.dbg.json +4 -0
  107. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol/ShortYieldDecisionHelper.json +1215 -0
  108. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol/ShortYieldTradingBot.dbg.json +4 -0
  109. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol/ShortYieldTradingBot.json +1535 -0
  110. package/build/artifacts/contracts/core/TradingBot/base/BotActionCallback.sol/BotActionCallback.dbg.json +4 -0
  111. package/build/artifacts/contracts/core/TradingBot/base/BotActionCallback.sol/BotActionCallback.json +932 -0
  112. package/build/artifacts/contracts/core/TradingBot/base/BotActionHelper.sol/BotActionHelper.dbg.json +4 -0
  113. package/build/artifacts/contracts/core/TradingBot/base/BotActionHelper.sol/BotActionHelper.json +932 -0
  114. package/build/artifacts/contracts/core/TradingBot/base/BotDecisionHelperBase.sol/BotDecisionHelperBase.dbg.json +4 -0
  115. package/build/artifacts/contracts/core/TradingBot/base/BotDecisionHelperBase.sol/BotDecisionHelperBase.json +789 -0
  116. package/build/artifacts/contracts/core/TradingBot/base/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
  117. package/build/artifacts/contracts/core/TradingBot/base/TradingBotBase.sol/TradingBotBase.json +882 -0
  118. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.dbg.json +4 -0
  119. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.json +10 -0
  120. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.dbg.json +4 -0
  121. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.json +24 -0
  122. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.dbg.json +4 -0
  123. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.json +10 -0
  124. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  127. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  129. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  131. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  134. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  136. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  138. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +151 -2
  141. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +4 -0
  142. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.json +10 -0
  143. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +4 -0
  170. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +652 -0
  171. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.dbg.json +4 -0
  172. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.json +671 -0
  173. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +4 -0
  174. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +1094 -0
  175. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.dbg.json +4 -0
  176. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.json +652 -0
  177. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.dbg.json +4 -0
  178. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.json +1075 -0
  179. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +4 -0
  180. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +632 -0
  181. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +4 -0
  182. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.json +10 -0
  183. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  184. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  186. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  188. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  190. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  192. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  194. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  196. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  198. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  200. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  202. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  204. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  205. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  206. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  207. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  208. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  209. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  210. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  211. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +4 -0
  212. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +166 -0
  213. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  214. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  215. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  216. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  217. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  218. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  219. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  220. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  221. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  222. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  223. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  224. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  225. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  226. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  227. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  228. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  229. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  230. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  231. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  232. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  233. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  234. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  235. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  236. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  237. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  238. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  239. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  240. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  241. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  242. package/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol +216 -0
  243. package/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol +97 -0
  244. package/contracts/core/TradingBot/README.md +153 -0
  245. package/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol +198 -0
  246. package/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol +101 -0
  247. package/contracts/core/TradingBot/base/BotActionCallback.sol +112 -0
  248. package/contracts/core/TradingBot/base/BotActionHelper.sol +178 -0
  249. package/contracts/core/TradingBot/base/BotDecisionHelperBase.sol +235 -0
  250. package/contracts/core/TradingBot/base/TradingBotBase.sol +184 -0
  251. package/contracts/core/TradingBot/libraries/BotSimulationLib.sol +155 -0
  252. package/contracts/core/TradingBot/libraries/MarketExtLib.sol +310 -0
  253. package/contracts/core/TradingBot/libraries/SpecSegmentLib.sol +62 -0
  254. package/contracts/core/libraries/Errors.sol +12 -0
  255. package/contracts/core/libraries/TokenAmountLib.sol +47 -0
  256. package/contracts/interfaces/TradingBot/IBotDecisionHelper.sol +57 -0
  257. package/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol +8 -0
  258. package/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol +51 -0
  259. package/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol +7 -0
  260. package/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol +27 -0
  261. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +67 -0
  262. package/contracts/offchain-helpers/BoringLpSeller.sol +47 -0
  263. package/contracts/oracles/samples/PendleLpGlpOracle.sol +49 -0
  264. package/package.json +1 -1
  265. package/typechain-types/BotActionCallback.ts +950 -0
  266. package/typechain-types/BotActionHelper.ts +950 -0
  267. package/typechain-types/BotDecisionHelper.ts +561 -0
  268. package/typechain-types/BotDecisionHelperBase.ts +484 -0
  269. package/typechain-types/BotDecisionLib.ts +335 -0
  270. package/typechain-types/CamelotV1LpHelper.ts +203 -0
  271. package/typechain-types/CamelotV1Preview.ts +431 -0
  272. package/typechain-types/I1inchAggregationRouterV5.ts +257 -0
  273. package/typechain-types/IAnkrBNB.ts +150 -0
  274. package/typechain-types/IAnkrLiquidStaking.ts +253 -0
  275. package/typechain-types/IBotDecisionHelper.ts +452 -0
  276. package/typechain-types/ICamelotSY.ts +100 -0
  277. package/typechain-types/IExecutorHelper1.ts +643 -0
  278. package/typechain-types/IExecutorHelper2.ts +115 -0
  279. package/typechain-types/IExecutorHelperEthereum1.ts +643 -0
  280. package/typechain-types/ILongYieldDecisionHelper.ts +486 -0
  281. package/typechain-types/ILongYieldTradingBot.ts +928 -0
  282. package/typechain-types/IPExternalRewardDistributor.ts +192 -0
  283. package/typechain-types/IPMarketFactoryV2.ts +253 -0
  284. package/typechain-types/IPendlePreviewHelper.ts +147 -0
  285. package/typechain-types/IShortYieldDecisionHelper.ts +452 -0
  286. package/typechain-types/IShortYieldTradingBot.ts +820 -0
  287. package/typechain-types/ISwETH.ts +123 -0
  288. package/typechain-types/IThenaFactory.ts +245 -0
  289. package/typechain-types/IThenaGaugeV2.ts +206 -0
  290. package/typechain-types/IThenaPair.ts +579 -0
  291. package/typechain-types/IThenaRouter.ts +313 -0
  292. package/typechain-types/IThenaSY.ts +81 -0
  293. package/typechain-types/ITradingBotBase.ts +619 -0
  294. package/typechain-types/IWBETH.ts +128 -0
  295. package/typechain-types/LongYieldDecisionHelper.ts +601 -0
  296. package/typechain-types/LongYieldTradingBot.ts +1414 -0
  297. package/typechain-types/MarketExtLib.ts +81 -0
  298. package/typechain-types/PendleAnkrBNBSY.ts +1235 -0
  299. package/typechain-types/PendleAuraWstethAnkreth.ts +1511 -0
  300. package/typechain-types/PendleBinanceEth.ts +1229 -0
  301. package/typechain-types/PendleCamelotV1SY.ts +1961 -0
  302. package/typechain-types/PendleExternalRewardDistributor.ts +546 -0
  303. package/typechain-types/PendleGaugeV2.ts +225 -0
  304. package/typechain-types/PendleLpGlpOracle.ts +145 -0
  305. package/typechain-types/PendleMarketFactoryV2.ts +930 -0
  306. package/typechain-types/PendleMarketV2.ts +1311 -0
  307. package/typechain-types/PendleSwETH.ts +1216 -0
  308. package/typechain-types/PendleSwapArbitrum.ts +126 -0
  309. package/typechain-types/PendleSwapEthereum.ts +126 -0
  310. package/typechain-types/PendleThenaSY.ts +1598 -0
  311. package/typechain-types/PendleWbEthSY.ts +1229 -0
  312. package/typechain-types/PtAndLpToAsset.ts +136 -0
  313. package/typechain-types/ShortYieldDecisionHelper.ts +601 -0
  314. package/typechain-types/ShortYieldTradingBot.ts +1306 -0
  315. package/typechain-types/ThenaLpHelper.ts +191 -0
  316. package/typechain-types/ThenaMath.ts +87 -0
  317. package/typechain-types/ThenaPreview.ts +450 -0
  318. package/typechain-types/TradingBotBase.ts +906 -0
  319. package/typechain-types/TradingBotOffchain.ts +568 -0
  320. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  321. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  322. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  323. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  324. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  325. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  326. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  327. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  328. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  329. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  330. package/typechain-types/factories/BotActionCallback__factory.ts +947 -0
  331. package/typechain-types/factories/BotActionHelper__factory.ts +947 -0
  332. package/typechain-types/factories/BotDecisionHelperBase__factory.ts +808 -0
  333. package/typechain-types/factories/BotDecisionHelper__factory.ts +1192 -0
  334. package/typechain-types/factories/BotDecisionLib__factory.ts +642 -0
  335. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  336. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  337. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  338. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  339. package/typechain-types/factories/CamelotV1LpHelper__factory.ts +143 -0
  340. package/typechain-types/factories/CamelotV1Preview__factory.ts +309 -0
  341. package/typechain-types/factories/Errors__factory.ts +150 -1
  342. package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +179 -0
  343. package/typechain-types/factories/IAnkrBNB__factory.ts +74 -0
  344. package/typechain-types/factories/IAnkrLiquidStaking__factory.ts +123 -0
  345. package/typechain-types/factories/IBotDecisionHelper__factory.ts +667 -0
  346. package/typechain-types/factories/ICamelotSY__factory.ts +49 -0
  347. package/typechain-types/factories/IExecutorHelper1__factory.ts +403 -0
  348. package/typechain-types/factories/IExecutorHelper2__factory.ts +55 -0
  349. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +407 -0
  350. package/typechain-types/factories/ILongYieldDecisionHelper__factory.ts +690 -0
  351. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +1113 -0
  352. package/typechain-types/factories/IPExternalRewardDistributor__factory.ts +128 -0
  353. package/typechain-types/factories/IPMarketFactoryV2__factory.ts +181 -0
  354. package/typechain-types/factories/IPendlePreviewHelper__factory.ts +78 -0
  355. package/typechain-types/factories/IShortYieldDecisionHelper__factory.ts +671 -0
  356. package/typechain-types/factories/IShortYieldTradingBot__factory.ts +1094 -0
  357. package/typechain-types/factories/ISwETH__factory.ts +53 -0
  358. package/typechain-types/factories/IThenaFactory__factory.ts +164 -0
  359. package/typechain-types/factories/IThenaGaugeV2__factory.ts +83 -0
  360. package/typechain-types/factories/IThenaPair__factory.ts +421 -0
  361. package/typechain-types/factories/IThenaRouter__factory.ts +200 -0
  362. package/typechain-types/factories/IThenaSY__factory.ts +36 -0
  363. package/typechain-types/factories/ITradingBotBase__factory.ts +647 -0
  364. package/typechain-types/factories/IWBETH__factory.ts +51 -0
  365. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +1272 -0
  366. package/typechain-types/factories/LongYieldTradingBot__factory.ts +1754 -0
  367. package/typechain-types/factories/MarketExtLib__factory.ts +74 -0
  368. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  369. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1100 -0
  370. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +27 -2
  371. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  372. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  373. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  374. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  375. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  376. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1244 -0
  377. package/typechain-types/factories/PendleBinanceEth__factory.ts +1052 -0
  378. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +1595 -0
  379. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  380. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  381. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  382. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +414 -0
  383. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  384. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  385. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  386. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  387. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  388. package/typechain-types/factories/PendleGaugeV2__factory.ts +140 -0
  389. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  390. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  391. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +246 -0
  392. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +770 -0
  393. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  394. package/typechain-types/factories/PendleMarketV2__factory.ts +1290 -0
  395. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  396. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  397. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  398. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  399. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  400. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  401. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  402. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  403. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  404. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  405. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  406. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  407. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  408. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  409. package/typechain-types/factories/PendleSwETH__factory.ts +1022 -0
  410. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +129 -0
  411. package/typechain-types/factories/PendleSwapEthereum__factory.ts +129 -0
  412. package/typechain-types/factories/PendleThenaSY__factory.ts +1352 -0
  413. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  414. package/typechain-types/factories/PendleWbEthSY__factory.ts +1049 -0
  415. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  416. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  417. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  418. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  419. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  420. package/typechain-types/factories/PtAndLpToAsset__factory.ts +150 -0
  421. package/typechain-types/factories/SAPE__factory.ts +1 -1
  422. package/typechain-types/factories/ShortYieldDecisionHelper__factory.ts +1272 -0
  423. package/typechain-types/factories/ShortYieldTradingBot__factory.ts +1612 -0
  424. package/typechain-types/factories/ThenaLpHelper__factory.ts +140 -0
  425. package/typechain-types/factories/ThenaMath__factory.ts +36 -0
  426. package/typechain-types/factories/ThenaPreview__factory.ts +319 -0
  427. package/typechain-types/factories/TradingBotBase__factory.ts +897 -0
  428. package/typechain-types/factories/TradingBotOffchain__factory.ts +1133 -0
  429. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  430. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  431. package/typechain-types/hardhat.d.ts +144 -9
  432. package/typechain-types/index.ts +32 -2
  433. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +0 -4
  434. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +0 -966
  435. package/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol +0 -114
  436. package/deployments/42161-markets/RETH-ARBITRUM-JUNE2024.json +0 -10
  437. package/deployments/42161-markets/WSTETH-ARBITRUM-JUNE2024.json +0 -10
@@ -0,0 +1,1754 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ LongYieldTradingBot,
8
+ LongYieldTradingBotInterface,
9
+ } from "../LongYieldTradingBot";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "_market",
17
+ type: "address",
18
+ },
19
+ {
20
+ internalType: "address",
21
+ name: "_router",
22
+ type: "address",
23
+ },
24
+ {
25
+ internalType: "address",
26
+ name: "_PENDLE",
27
+ type: "address",
28
+ },
29
+ {
30
+ internalType: "address",
31
+ name: "_decisionHelper",
32
+ type: "address",
33
+ },
34
+ ],
35
+ stateMutability: "nonpayable",
36
+ type: "constructor",
37
+ },
38
+ {
39
+ inputs: [],
40
+ name: "ApproxFail",
41
+ type: "error",
42
+ },
43
+ {
44
+ inputs: [
45
+ {
46
+ internalType: "uint256",
47
+ name: "guessMin",
48
+ type: "uint256",
49
+ },
50
+ {
51
+ internalType: "uint256",
52
+ name: "guessMax",
53
+ type: "uint256",
54
+ },
55
+ {
56
+ internalType: "uint256",
57
+ name: "eps",
58
+ type: "uint256",
59
+ },
60
+ ],
61
+ name: "ApproxParamsInvalid",
62
+ type: "error",
63
+ },
64
+ {
65
+ inputs: [
66
+ {
67
+ internalType: "address",
68
+ name: "caller",
69
+ type: "address",
70
+ },
71
+ ],
72
+ name: "BotCallbackNotMarket",
73
+ type: "error",
74
+ },
75
+ {
76
+ inputs: [
77
+ {
78
+ internalType: "uint256",
79
+ name: "actualLpOut",
80
+ type: "uint256",
81
+ },
82
+ {
83
+ internalType: "uint256",
84
+ name: "requiredLpOut",
85
+ type: "uint256",
86
+ },
87
+ ],
88
+ name: "BotInsufficientLpOut",
89
+ type: "error",
90
+ },
91
+ {
92
+ inputs: [
93
+ {
94
+ internalType: "uint256",
95
+ name: "actualSyOut",
96
+ type: "uint256",
97
+ },
98
+ {
99
+ internalType: "uint256",
100
+ name: "requiredSyOut",
101
+ type: "uint256",
102
+ },
103
+ ],
104
+ name: "BotInsufficientSyOut",
105
+ type: "error",
106
+ },
107
+ {
108
+ inputs: [
109
+ {
110
+ internalType: "uint256",
111
+ name: "actualYtOut",
112
+ type: "uint256",
113
+ },
114
+ {
115
+ internalType: "uint256",
116
+ name: "requiredYtOut",
117
+ type: "uint256",
118
+ },
119
+ ],
120
+ name: "BotInsufficientYtOut",
121
+ type: "error",
122
+ },
123
+ {
124
+ inputs: [
125
+ {
126
+ internalType: "int256",
127
+ name: "exchangeRate",
128
+ type: "int256",
129
+ },
130
+ ],
131
+ name: "MarketExchangeRateBelowOne",
132
+ type: "error",
133
+ },
134
+ {
135
+ inputs: [],
136
+ name: "MarketExpired",
137
+ type: "error",
138
+ },
139
+ {
140
+ inputs: [
141
+ {
142
+ internalType: "int256",
143
+ name: "currentAmount",
144
+ type: "int256",
145
+ },
146
+ {
147
+ internalType: "int256",
148
+ name: "requiredAmount",
149
+ type: "int256",
150
+ },
151
+ ],
152
+ name: "MarketInsufficientPtForTrade",
153
+ type: "error",
154
+ },
155
+ {
156
+ inputs: [],
157
+ name: "MarketProportionMustNotEqualOne",
158
+ type: "error",
159
+ },
160
+ {
161
+ inputs: [
162
+ {
163
+ internalType: "int256",
164
+ name: "proportion",
165
+ type: "int256",
166
+ },
167
+ {
168
+ internalType: "int256",
169
+ name: "maxProportion",
170
+ type: "int256",
171
+ },
172
+ ],
173
+ name: "MarketProportionTooHigh",
174
+ type: "error",
175
+ },
176
+ {
177
+ inputs: [
178
+ {
179
+ internalType: "int256",
180
+ name: "rateScalar",
181
+ type: "int256",
182
+ },
183
+ ],
184
+ name: "MarketRateScalarBelowZero",
185
+ type: "error",
186
+ },
187
+ {
188
+ inputs: [],
189
+ name: "MarketZeroLnImpliedRate",
190
+ type: "error",
191
+ },
192
+ {
193
+ inputs: [
194
+ {
195
+ internalType: "int256",
196
+ name: "totalPt",
197
+ type: "int256",
198
+ },
199
+ {
200
+ internalType: "int256",
201
+ name: "totalAsset",
202
+ type: "int256",
203
+ },
204
+ ],
205
+ name: "MarketZeroTotalPtOrTotalAsset",
206
+ type: "error",
207
+ },
208
+ {
209
+ anonymous: false,
210
+ inputs: [
211
+ {
212
+ components: [
213
+ {
214
+ internalType: "uint256",
215
+ name: "guessMin",
216
+ type: "uint256",
217
+ },
218
+ {
219
+ internalType: "uint256",
220
+ name: "guessMax",
221
+ type: "uint256",
222
+ },
223
+ {
224
+ internalType: "uint256",
225
+ name: "guessOffchain",
226
+ type: "uint256",
227
+ },
228
+ {
229
+ internalType: "uint256",
230
+ name: "maxIteration",
231
+ type: "uint256",
232
+ },
233
+ {
234
+ internalType: "uint256",
235
+ name: "eps",
236
+ type: "uint256",
237
+ },
238
+ ],
239
+ indexed: false,
240
+ internalType: "struct ApproxParams",
241
+ name: "botParams",
242
+ type: "tuple",
243
+ },
244
+ {
245
+ indexed: false,
246
+ internalType: "uint256",
247
+ name: "maxSyIn",
248
+ type: "uint256",
249
+ },
250
+ {
251
+ indexed: false,
252
+ internalType: "uint256",
253
+ name: "netSyIn",
254
+ type: "uint256",
255
+ },
256
+ {
257
+ indexed: false,
258
+ internalType: "uint256",
259
+ name: "netLpOut",
260
+ type: "uint256",
261
+ },
262
+ ],
263
+ name: "AddLiqFromSy",
264
+ type: "event",
265
+ },
266
+ {
267
+ anonymous: false,
268
+ inputs: [
269
+ {
270
+ components: [
271
+ {
272
+ internalType: "uint256",
273
+ name: "guessMin",
274
+ type: "uint256",
275
+ },
276
+ {
277
+ internalType: "uint256",
278
+ name: "guessMax",
279
+ type: "uint256",
280
+ },
281
+ {
282
+ internalType: "uint256",
283
+ name: "guessOffchain",
284
+ type: "uint256",
285
+ },
286
+ {
287
+ internalType: "uint256",
288
+ name: "maxIteration",
289
+ type: "uint256",
290
+ },
291
+ {
292
+ internalType: "uint256",
293
+ name: "eps",
294
+ type: "uint256",
295
+ },
296
+ ],
297
+ indexed: false,
298
+ internalType: "struct ApproxParams",
299
+ name: "botParams",
300
+ type: "tuple",
301
+ },
302
+ {
303
+ indexed: false,
304
+ internalType: "uint256",
305
+ name: "netYtIn",
306
+ type: "uint256",
307
+ },
308
+ {
309
+ indexed: false,
310
+ internalType: "uint256",
311
+ name: "netLpOut",
312
+ type: "uint256",
313
+ },
314
+ ],
315
+ name: "AddLiqFromYt",
316
+ type: "event",
317
+ },
318
+ {
319
+ anonymous: false,
320
+ inputs: [
321
+ {
322
+ indexed: false,
323
+ internalType: "uint256",
324
+ name: "netSyIn",
325
+ type: "uint256",
326
+ },
327
+ {
328
+ indexed: false,
329
+ internalType: "uint256",
330
+ name: "netLpOut",
331
+ type: "uint256",
332
+ },
333
+ {
334
+ indexed: false,
335
+ internalType: "uint256",
336
+ name: "netYtOut",
337
+ type: "uint256",
338
+ },
339
+ ],
340
+ name: "AddLiqKeepYt",
341
+ type: "event",
342
+ },
343
+ {
344
+ anonymous: false,
345
+ inputs: [
346
+ {
347
+ indexed: false,
348
+ internalType: "address",
349
+ name: "previousAdmin",
350
+ type: "address",
351
+ },
352
+ {
353
+ indexed: false,
354
+ internalType: "address",
355
+ name: "newAdmin",
356
+ type: "address",
357
+ },
358
+ ],
359
+ name: "AdminChanged",
360
+ type: "event",
361
+ },
362
+ {
363
+ anonymous: false,
364
+ inputs: [
365
+ {
366
+ indexed: true,
367
+ internalType: "address",
368
+ name: "beacon",
369
+ type: "address",
370
+ },
371
+ ],
372
+ name: "BeaconUpgraded",
373
+ type: "event",
374
+ },
375
+ {
376
+ anonymous: false,
377
+ inputs: [
378
+ {
379
+ indexed: false,
380
+ internalType: "uint256",
381
+ name: "netSyOut",
382
+ type: "uint256",
383
+ },
384
+ {
385
+ indexed: false,
386
+ internalType: "uint256",
387
+ name: "netPendleOut",
388
+ type: "uint256",
389
+ },
390
+ ],
391
+ name: "ClaimAndCompound",
392
+ type: "event",
393
+ },
394
+ {
395
+ anonymous: false,
396
+ inputs: [
397
+ {
398
+ indexed: false,
399
+ internalType: "uint256",
400
+ name: "netSyIn",
401
+ type: "uint256",
402
+ },
403
+ ],
404
+ name: "DepositSy",
405
+ type: "event",
406
+ },
407
+ {
408
+ anonymous: false,
409
+ inputs: [
410
+ {
411
+ indexed: true,
412
+ internalType: "address",
413
+ name: "token",
414
+ type: "address",
415
+ },
416
+ {
417
+ indexed: false,
418
+ internalType: "uint256",
419
+ name: "netTokenIn",
420
+ type: "uint256",
421
+ },
422
+ ],
423
+ name: "DepositToken",
424
+ type: "event",
425
+ },
426
+ {
427
+ anonymous: false,
428
+ inputs: [
429
+ {
430
+ indexed: false,
431
+ internalType: "uint8",
432
+ name: "version",
433
+ type: "uint8",
434
+ },
435
+ ],
436
+ name: "Initialized",
437
+ type: "event",
438
+ },
439
+ {
440
+ anonymous: false,
441
+ inputs: [
442
+ {
443
+ indexed: true,
444
+ internalType: "address",
445
+ name: "previousOwner",
446
+ type: "address",
447
+ },
448
+ {
449
+ indexed: true,
450
+ internalType: "address",
451
+ name: "newOwner",
452
+ type: "address",
453
+ },
454
+ ],
455
+ name: "OwnershipTransferred",
456
+ type: "event",
457
+ },
458
+ {
459
+ anonymous: false,
460
+ inputs: [
461
+ {
462
+ components: [
463
+ {
464
+ internalType: "uint256",
465
+ name: "guessMin",
466
+ type: "uint256",
467
+ },
468
+ {
469
+ internalType: "uint256",
470
+ name: "guessMax",
471
+ type: "uint256",
472
+ },
473
+ {
474
+ internalType: "uint256",
475
+ name: "guessOffchain",
476
+ type: "uint256",
477
+ },
478
+ {
479
+ internalType: "uint256",
480
+ name: "maxIteration",
481
+ type: "uint256",
482
+ },
483
+ {
484
+ internalType: "uint256",
485
+ name: "eps",
486
+ type: "uint256",
487
+ },
488
+ ],
489
+ indexed: false,
490
+ internalType: "struct ApproxParams",
491
+ name: "botParams",
492
+ type: "tuple",
493
+ },
494
+ {
495
+ indexed: false,
496
+ internalType: "uint256",
497
+ name: "netLpIn",
498
+ type: "uint256",
499
+ },
500
+ {
501
+ indexed: false,
502
+ internalType: "uint256",
503
+ name: "netYtOut",
504
+ type: "uint256",
505
+ },
506
+ ],
507
+ name: "RemoveLiqToYt",
508
+ type: "event",
509
+ },
510
+ {
511
+ anonymous: false,
512
+ inputs: [
513
+ {
514
+ components: [
515
+ {
516
+ internalType: "uint256",
517
+ name: "guessMin",
518
+ type: "uint256",
519
+ },
520
+ {
521
+ internalType: "uint256",
522
+ name: "guessMax",
523
+ type: "uint256",
524
+ },
525
+ {
526
+ internalType: "uint256",
527
+ name: "guessOffchain",
528
+ type: "uint256",
529
+ },
530
+ {
531
+ internalType: "uint256",
532
+ name: "maxIteration",
533
+ type: "uint256",
534
+ },
535
+ {
536
+ internalType: "uint256",
537
+ name: "eps",
538
+ type: "uint256",
539
+ },
540
+ ],
541
+ indexed: false,
542
+ internalType: "struct ApproxParams",
543
+ name: "botParams",
544
+ type: "tuple",
545
+ },
546
+ {
547
+ indexed: false,
548
+ internalType: "uint256",
549
+ name: "maxSyIn",
550
+ type: "uint256",
551
+ },
552
+ {
553
+ indexed: false,
554
+ internalType: "uint256",
555
+ name: "exactYtOut",
556
+ type: "uint256",
557
+ },
558
+ {
559
+ indexed: false,
560
+ internalType: "uint256",
561
+ name: "netSyIn",
562
+ type: "uint256",
563
+ },
564
+ ],
565
+ name: "SwapSyToYt",
566
+ type: "event",
567
+ },
568
+ {
569
+ anonymous: false,
570
+ inputs: [
571
+ {
572
+ indexed: true,
573
+ internalType: "address",
574
+ name: "implementation",
575
+ type: "address",
576
+ },
577
+ ],
578
+ name: "Upgraded",
579
+ type: "event",
580
+ },
581
+ {
582
+ anonymous: false,
583
+ inputs: [
584
+ {
585
+ indexed: true,
586
+ internalType: "address",
587
+ name: "token",
588
+ type: "address",
589
+ },
590
+ {
591
+ indexed: false,
592
+ internalType: "uint256",
593
+ name: "amount",
594
+ type: "uint256",
595
+ },
596
+ ],
597
+ name: "WithdrawFunds",
598
+ type: "event",
599
+ },
600
+ {
601
+ inputs: [],
602
+ name: "PENDLE",
603
+ outputs: [
604
+ {
605
+ internalType: "address",
606
+ name: "",
607
+ type: "address",
608
+ },
609
+ ],
610
+ stateMutability: "view",
611
+ type: "function",
612
+ },
613
+ {
614
+ inputs: [],
615
+ name: "PT",
616
+ outputs: [
617
+ {
618
+ internalType: "address",
619
+ name: "",
620
+ type: "address",
621
+ },
622
+ ],
623
+ stateMutability: "view",
624
+ type: "function",
625
+ },
626
+ {
627
+ inputs: [],
628
+ name: "SY",
629
+ outputs: [
630
+ {
631
+ internalType: "address",
632
+ name: "",
633
+ type: "address",
634
+ },
635
+ ],
636
+ stateMutability: "view",
637
+ type: "function",
638
+ },
639
+ {
640
+ inputs: [],
641
+ name: "YT",
642
+ outputs: [
643
+ {
644
+ internalType: "address",
645
+ name: "",
646
+ type: "address",
647
+ },
648
+ ],
649
+ stateMutability: "view",
650
+ type: "function",
651
+ },
652
+ {
653
+ inputs: [
654
+ {
655
+ components: [
656
+ {
657
+ components: [
658
+ {
659
+ internalType: "uint256",
660
+ name: "guessMin",
661
+ type: "uint256",
662
+ },
663
+ {
664
+ internalType: "uint256",
665
+ name: "guessMax",
666
+ type: "uint256",
667
+ },
668
+ {
669
+ internalType: "uint256",
670
+ name: "guessOffchain",
671
+ type: "uint256",
672
+ },
673
+ {
674
+ internalType: "uint256",
675
+ name: "maxIteration",
676
+ type: "uint256",
677
+ },
678
+ {
679
+ internalType: "uint256",
680
+ name: "eps",
681
+ type: "uint256",
682
+ },
683
+ ],
684
+ internalType: "struct ApproxParams",
685
+ name: "botParams",
686
+ type: "tuple",
687
+ },
688
+ {
689
+ internalType: "uint256",
690
+ name: "minLpOut",
691
+ type: "uint256",
692
+ },
693
+ {
694
+ internalType: "uint256",
695
+ name: "targetIy",
696
+ type: "uint256",
697
+ },
698
+ {
699
+ internalType: "int256",
700
+ name: "currentBin",
701
+ type: "int256",
702
+ },
703
+ ],
704
+ internalType: "struct ILongYieldTradingBot.AddLiqFromYtInput",
705
+ name: "inputParams",
706
+ type: "tuple",
707
+ },
708
+ ],
709
+ name: "addLiqFromYt",
710
+ outputs: [
711
+ {
712
+ internalType: "uint256",
713
+ name: "netPtFromSwap",
714
+ type: "uint256",
715
+ },
716
+ {
717
+ internalType: "uint256",
718
+ name: "netLpOut",
719
+ type: "uint256",
720
+ },
721
+ {
722
+ internalType: "uint256",
723
+ name: "netYtIn",
724
+ type: "uint256",
725
+ },
726
+ ],
727
+ stateMutability: "nonpayable",
728
+ type: "function",
729
+ },
730
+ {
731
+ inputs: [
732
+ {
733
+ internalType: "uint256",
734
+ name: "netSyIn",
735
+ type: "uint256",
736
+ },
737
+ {
738
+ internalType: "uint256",
739
+ name: "minLpOut",
740
+ type: "uint256",
741
+ },
742
+ {
743
+ internalType: "uint256",
744
+ name: "minYtOut",
745
+ type: "uint256",
746
+ },
747
+ ],
748
+ name: "addLiqKeepYt",
749
+ outputs: [
750
+ {
751
+ internalType: "uint256",
752
+ name: "netLpOut",
753
+ type: "uint256",
754
+ },
755
+ {
756
+ internalType: "uint256",
757
+ name: "netYtOut",
758
+ type: "uint256",
759
+ },
760
+ ],
761
+ stateMutability: "nonpayable",
762
+ type: "function",
763
+ },
764
+ {
765
+ inputs: [
766
+ {
767
+ components: [
768
+ {
769
+ internalType: "address[]",
770
+ name: "tokens",
771
+ type: "address[]",
772
+ },
773
+ {
774
+ internalType: "address",
775
+ name: "spender",
776
+ type: "address",
777
+ },
778
+ ],
779
+ internalType: "struct ITradingBotBase.MultiApproval[]",
780
+ name: "arr",
781
+ type: "tuple[]",
782
+ },
783
+ ],
784
+ name: "approveInf",
785
+ outputs: [],
786
+ stateMutability: "nonpayable",
787
+ type: "function",
788
+ },
789
+ {
790
+ inputs: [],
791
+ name: "buyBins",
792
+ outputs: [
793
+ {
794
+ internalType: "uint256",
795
+ name: "",
796
+ type: "uint256",
797
+ },
798
+ ],
799
+ stateMutability: "view",
800
+ type: "function",
801
+ },
802
+ {
803
+ inputs: [
804
+ {
805
+ components: [
806
+ {
807
+ internalType: "address",
808
+ name: "tokenIn",
809
+ type: "address",
810
+ },
811
+ {
812
+ internalType: "uint256",
813
+ name: "netTokenIn",
814
+ type: "uint256",
815
+ },
816
+ {
817
+ internalType: "address",
818
+ name: "tokenMintSy",
819
+ type: "address",
820
+ },
821
+ {
822
+ internalType: "address",
823
+ name: "bulk",
824
+ type: "address",
825
+ },
826
+ {
827
+ internalType: "address",
828
+ name: "pendleSwap",
829
+ type: "address",
830
+ },
831
+ {
832
+ components: [
833
+ {
834
+ internalType: "enum SwapType",
835
+ name: "swapType",
836
+ type: "uint8",
837
+ },
838
+ {
839
+ internalType: "address",
840
+ name: "extRouter",
841
+ type: "address",
842
+ },
843
+ {
844
+ internalType: "bytes",
845
+ name: "extCalldata",
846
+ type: "bytes",
847
+ },
848
+ {
849
+ internalType: "bool",
850
+ name: "needScale",
851
+ type: "bool",
852
+ },
853
+ ],
854
+ internalType: "struct SwapData",
855
+ name: "swapData",
856
+ type: "tuple",
857
+ },
858
+ ],
859
+ internalType: "struct TokenInput[]",
860
+ name: "inps",
861
+ type: "tuple[]",
862
+ },
863
+ {
864
+ internalType: "uint256",
865
+ name: "minSyOut",
866
+ type: "uint256",
867
+ },
868
+ ],
869
+ name: "claimAndCompound",
870
+ outputs: [
871
+ {
872
+ internalType: "uint256",
873
+ name: "netSyOut",
874
+ type: "uint256",
875
+ },
876
+ {
877
+ internalType: "uint256",
878
+ name: "netPendleOut",
879
+ type: "uint256",
880
+ },
881
+ ],
882
+ stateMutability: "nonpayable",
883
+ type: "function",
884
+ },
885
+ {
886
+ inputs: [],
887
+ name: "claimOwnership",
888
+ outputs: [],
889
+ stateMutability: "nonpayable",
890
+ type: "function",
891
+ },
892
+ {
893
+ inputs: [],
894
+ name: "claimWithoutCompound",
895
+ outputs: [
896
+ {
897
+ components: [
898
+ {
899
+ internalType: "address",
900
+ name: "token",
901
+ type: "address",
902
+ },
903
+ {
904
+ internalType: "uint256",
905
+ name: "amount",
906
+ type: "uint256",
907
+ },
908
+ ],
909
+ internalType: "struct TokenAmount[]",
910
+ name: "rewards",
911
+ type: "tuple[]",
912
+ },
913
+ ],
914
+ stateMutability: "nonpayable",
915
+ type: "function",
916
+ },
917
+ {
918
+ inputs: [],
919
+ name: "decisionHelper",
920
+ outputs: [
921
+ {
922
+ internalType: "contract IBotDecisionHelper",
923
+ name: "",
924
+ type: "address",
925
+ },
926
+ ],
927
+ stateMutability: "view",
928
+ type: "function",
929
+ },
930
+ {
931
+ inputs: [
932
+ {
933
+ internalType: "uint256",
934
+ name: "netSyIn",
935
+ type: "uint256",
936
+ },
937
+ ],
938
+ name: "depositSy",
939
+ outputs: [],
940
+ stateMutability: "nonpayable",
941
+ type: "function",
942
+ },
943
+ {
944
+ inputs: [
945
+ {
946
+ components: [
947
+ {
948
+ internalType: "address",
949
+ name: "tokenIn",
950
+ type: "address",
951
+ },
952
+ {
953
+ internalType: "uint256",
954
+ name: "netTokenIn",
955
+ type: "uint256",
956
+ },
957
+ {
958
+ internalType: "address",
959
+ name: "tokenMintSy",
960
+ type: "address",
961
+ },
962
+ {
963
+ internalType: "address",
964
+ name: "bulk",
965
+ type: "address",
966
+ },
967
+ {
968
+ internalType: "address",
969
+ name: "pendleSwap",
970
+ type: "address",
971
+ },
972
+ {
973
+ components: [
974
+ {
975
+ internalType: "enum SwapType",
976
+ name: "swapType",
977
+ type: "uint8",
978
+ },
979
+ {
980
+ internalType: "address",
981
+ name: "extRouter",
982
+ type: "address",
983
+ },
984
+ {
985
+ internalType: "bytes",
986
+ name: "extCalldata",
987
+ type: "bytes",
988
+ },
989
+ {
990
+ internalType: "bool",
991
+ name: "needScale",
992
+ type: "bool",
993
+ },
994
+ ],
995
+ internalType: "struct SwapData",
996
+ name: "swapData",
997
+ type: "tuple",
998
+ },
999
+ ],
1000
+ internalType: "struct TokenInput",
1001
+ name: "inp",
1002
+ type: "tuple",
1003
+ },
1004
+ {
1005
+ internalType: "uint256",
1006
+ name: "minSyOut",
1007
+ type: "uint256",
1008
+ },
1009
+ ],
1010
+ name: "depositToken",
1011
+ outputs: [],
1012
+ stateMutability: "payable",
1013
+ type: "function",
1014
+ },
1015
+ {
1016
+ inputs: [
1017
+ {
1018
+ components: [
1019
+ {
1020
+ internalType: "uint256",
1021
+ name: "buyYtIy",
1022
+ type: "uint256",
1023
+ },
1024
+ {
1025
+ internalType: "uint256",
1026
+ name: "sellYtIy",
1027
+ type: "uint256",
1028
+ },
1029
+ {
1030
+ internalType: "uint256",
1031
+ name: "targetSyRatio",
1032
+ type: "uint256",
1033
+ },
1034
+ {
1035
+ internalType: "uint256",
1036
+ name: "maxSyRatio",
1037
+ type: "uint256",
1038
+ },
1039
+ {
1040
+ internalType: "uint256",
1041
+ name: "targetYtPtRatio",
1042
+ type: "uint256",
1043
+ },
1044
+ {
1045
+ internalType: "uint256",
1046
+ name: "numOfBins",
1047
+ type: "uint256",
1048
+ },
1049
+ ],
1050
+ internalType: "struct TradingSpecs",
1051
+ name: "_specs",
1052
+ type: "tuple",
1053
+ },
1054
+ ],
1055
+ name: "initialize",
1056
+ outputs: [],
1057
+ stateMutability: "nonpayable",
1058
+ type: "function",
1059
+ },
1060
+ {
1061
+ inputs: [],
1062
+ name: "market",
1063
+ outputs: [
1064
+ {
1065
+ internalType: "address",
1066
+ name: "",
1067
+ type: "address",
1068
+ },
1069
+ ],
1070
+ stateMutability: "view",
1071
+ type: "function",
1072
+ },
1073
+ {
1074
+ inputs: [],
1075
+ name: "owner",
1076
+ outputs: [
1077
+ {
1078
+ internalType: "address",
1079
+ name: "",
1080
+ type: "address",
1081
+ },
1082
+ ],
1083
+ stateMutability: "view",
1084
+ type: "function",
1085
+ },
1086
+ {
1087
+ inputs: [],
1088
+ name: "pendingOwner",
1089
+ outputs: [
1090
+ {
1091
+ internalType: "address",
1092
+ name: "",
1093
+ type: "address",
1094
+ },
1095
+ ],
1096
+ stateMutability: "view",
1097
+ type: "function",
1098
+ },
1099
+ {
1100
+ inputs: [],
1101
+ name: "proxiableUUID",
1102
+ outputs: [
1103
+ {
1104
+ internalType: "bytes32",
1105
+ name: "",
1106
+ type: "bytes32",
1107
+ },
1108
+ ],
1109
+ stateMutability: "view",
1110
+ type: "function",
1111
+ },
1112
+ {
1113
+ inputs: [],
1114
+ name: "readBotState",
1115
+ outputs: [
1116
+ {
1117
+ components: [
1118
+ {
1119
+ internalType: "uint256",
1120
+ name: "lpBalance",
1121
+ type: "uint256",
1122
+ },
1123
+ {
1124
+ internalType: "uint256",
1125
+ name: "ytBalance",
1126
+ type: "uint256",
1127
+ },
1128
+ {
1129
+ internalType: "uint256",
1130
+ name: "ptBalance",
1131
+ type: "uint256",
1132
+ },
1133
+ {
1134
+ internalType: "uint256",
1135
+ name: "syBalance",
1136
+ type: "uint256",
1137
+ },
1138
+ {
1139
+ internalType: "uint256",
1140
+ name: "buyBins",
1141
+ type: "uint256",
1142
+ },
1143
+ ],
1144
+ internalType: "struct BotState",
1145
+ name: "botState",
1146
+ type: "tuple",
1147
+ },
1148
+ ],
1149
+ stateMutability: "view",
1150
+ type: "function",
1151
+ },
1152
+ {
1153
+ inputs: [],
1154
+ name: "readMarketExtState",
1155
+ outputs: [
1156
+ {
1157
+ components: [
1158
+ {
1159
+ components: [
1160
+ {
1161
+ internalType: "int256",
1162
+ name: "totalPt",
1163
+ type: "int256",
1164
+ },
1165
+ {
1166
+ internalType: "int256",
1167
+ name: "totalSy",
1168
+ type: "int256",
1169
+ },
1170
+ {
1171
+ internalType: "int256",
1172
+ name: "totalLp",
1173
+ type: "int256",
1174
+ },
1175
+ {
1176
+ internalType: "address",
1177
+ name: "treasury",
1178
+ type: "address",
1179
+ },
1180
+ {
1181
+ internalType: "int256",
1182
+ name: "scalarRoot",
1183
+ type: "int256",
1184
+ },
1185
+ {
1186
+ internalType: "uint256",
1187
+ name: "expiry",
1188
+ type: "uint256",
1189
+ },
1190
+ {
1191
+ internalType: "uint256",
1192
+ name: "lnFeeRateRoot",
1193
+ type: "uint256",
1194
+ },
1195
+ {
1196
+ internalType: "uint256",
1197
+ name: "reserveFeePercent",
1198
+ type: "uint256",
1199
+ },
1200
+ {
1201
+ internalType: "uint256",
1202
+ name: "lastLnImpliedRate",
1203
+ type: "uint256",
1204
+ },
1205
+ ],
1206
+ internalType: "struct MarketState",
1207
+ name: "state",
1208
+ type: "tuple",
1209
+ },
1210
+ {
1211
+ internalType: "PYIndex",
1212
+ name: "index",
1213
+ type: "uint256",
1214
+ },
1215
+ {
1216
+ internalType: "uint256",
1217
+ name: "blockTime",
1218
+ type: "uint256",
1219
+ },
1220
+ ],
1221
+ internalType: "struct MarketExtState",
1222
+ name: "marketExt",
1223
+ type: "tuple",
1224
+ },
1225
+ ],
1226
+ stateMutability: "nonpayable",
1227
+ type: "function",
1228
+ },
1229
+ {
1230
+ inputs: [],
1231
+ name: "readStrategyData",
1232
+ outputs: [
1233
+ {
1234
+ components: [
1235
+ {
1236
+ components: [
1237
+ {
1238
+ internalType: "uint256",
1239
+ name: "lpBalance",
1240
+ type: "uint256",
1241
+ },
1242
+ {
1243
+ internalType: "uint256",
1244
+ name: "ytBalance",
1245
+ type: "uint256",
1246
+ },
1247
+ {
1248
+ internalType: "uint256",
1249
+ name: "ptBalance",
1250
+ type: "uint256",
1251
+ },
1252
+ {
1253
+ internalType: "uint256",
1254
+ name: "syBalance",
1255
+ type: "uint256",
1256
+ },
1257
+ {
1258
+ internalType: "uint256",
1259
+ name: "buyBins",
1260
+ type: "uint256",
1261
+ },
1262
+ ],
1263
+ internalType: "struct BotState",
1264
+ name: "botState",
1265
+ type: "tuple",
1266
+ },
1267
+ {
1268
+ components: [
1269
+ {
1270
+ components: [
1271
+ {
1272
+ internalType: "int256",
1273
+ name: "totalPt",
1274
+ type: "int256",
1275
+ },
1276
+ {
1277
+ internalType: "int256",
1278
+ name: "totalSy",
1279
+ type: "int256",
1280
+ },
1281
+ {
1282
+ internalType: "int256",
1283
+ name: "totalLp",
1284
+ type: "int256",
1285
+ },
1286
+ {
1287
+ internalType: "address",
1288
+ name: "treasury",
1289
+ type: "address",
1290
+ },
1291
+ {
1292
+ internalType: "int256",
1293
+ name: "scalarRoot",
1294
+ type: "int256",
1295
+ },
1296
+ {
1297
+ internalType: "uint256",
1298
+ name: "expiry",
1299
+ type: "uint256",
1300
+ },
1301
+ {
1302
+ internalType: "uint256",
1303
+ name: "lnFeeRateRoot",
1304
+ type: "uint256",
1305
+ },
1306
+ {
1307
+ internalType: "uint256",
1308
+ name: "reserveFeePercent",
1309
+ type: "uint256",
1310
+ },
1311
+ {
1312
+ internalType: "uint256",
1313
+ name: "lastLnImpliedRate",
1314
+ type: "uint256",
1315
+ },
1316
+ ],
1317
+ internalType: "struct MarketState",
1318
+ name: "state",
1319
+ type: "tuple",
1320
+ },
1321
+ {
1322
+ internalType: "PYIndex",
1323
+ name: "index",
1324
+ type: "uint256",
1325
+ },
1326
+ {
1327
+ internalType: "uint256",
1328
+ name: "blockTime",
1329
+ type: "uint256",
1330
+ },
1331
+ ],
1332
+ internalType: "struct MarketExtState",
1333
+ name: "marketExt",
1334
+ type: "tuple",
1335
+ },
1336
+ {
1337
+ components: [
1338
+ {
1339
+ internalType: "uint256",
1340
+ name: "buyYtIy",
1341
+ type: "uint256",
1342
+ },
1343
+ {
1344
+ internalType: "uint256",
1345
+ name: "sellYtIy",
1346
+ type: "uint256",
1347
+ },
1348
+ {
1349
+ internalType: "uint256",
1350
+ name: "targetSyRatio",
1351
+ type: "uint256",
1352
+ },
1353
+ {
1354
+ internalType: "uint256",
1355
+ name: "maxSyRatio",
1356
+ type: "uint256",
1357
+ },
1358
+ {
1359
+ internalType: "uint256",
1360
+ name: "targetYtPtRatio",
1361
+ type: "uint256",
1362
+ },
1363
+ {
1364
+ internalType: "uint256",
1365
+ name: "numOfBins",
1366
+ type: "uint256",
1367
+ },
1368
+ ],
1369
+ internalType: "struct TradingSpecs",
1370
+ name: "specs",
1371
+ type: "tuple",
1372
+ },
1373
+ ],
1374
+ internalType: "struct StrategyData",
1375
+ name: "strategyData",
1376
+ type: "tuple",
1377
+ },
1378
+ ],
1379
+ stateMutability: "nonpayable",
1380
+ type: "function",
1381
+ },
1382
+ {
1383
+ inputs: [
1384
+ {
1385
+ components: [
1386
+ {
1387
+ components: [
1388
+ {
1389
+ internalType: "uint256",
1390
+ name: "guessMin",
1391
+ type: "uint256",
1392
+ },
1393
+ {
1394
+ internalType: "uint256",
1395
+ name: "guessMax",
1396
+ type: "uint256",
1397
+ },
1398
+ {
1399
+ internalType: "uint256",
1400
+ name: "guessOffchain",
1401
+ type: "uint256",
1402
+ },
1403
+ {
1404
+ internalType: "uint256",
1405
+ name: "maxIteration",
1406
+ type: "uint256",
1407
+ },
1408
+ {
1409
+ internalType: "uint256",
1410
+ name: "eps",
1411
+ type: "uint256",
1412
+ },
1413
+ ],
1414
+ internalType: "struct ApproxParams",
1415
+ name: "botParams",
1416
+ type: "tuple",
1417
+ },
1418
+ {
1419
+ components: [
1420
+ {
1421
+ internalType: "uint256",
1422
+ name: "guessMin",
1423
+ type: "uint256",
1424
+ },
1425
+ {
1426
+ internalType: "uint256",
1427
+ name: "guessMax",
1428
+ type: "uint256",
1429
+ },
1430
+ {
1431
+ internalType: "uint256",
1432
+ name: "guessOffchain",
1433
+ type: "uint256",
1434
+ },
1435
+ {
1436
+ internalType: "uint256",
1437
+ name: "maxIteration",
1438
+ type: "uint256",
1439
+ },
1440
+ {
1441
+ internalType: "uint256",
1442
+ name: "eps",
1443
+ type: "uint256",
1444
+ },
1445
+ ],
1446
+ internalType: "struct ApproxParams",
1447
+ name: "guessTotalPtToSwap",
1448
+ type: "tuple",
1449
+ },
1450
+ {
1451
+ internalType: "uint256",
1452
+ name: "minYtOut",
1453
+ type: "uint256",
1454
+ },
1455
+ {
1456
+ internalType: "uint256",
1457
+ name: "targetIy",
1458
+ type: "uint256",
1459
+ },
1460
+ {
1461
+ internalType: "int256",
1462
+ name: "currentBin",
1463
+ type: "int256",
1464
+ },
1465
+ ],
1466
+ internalType: "struct ILongYieldTradingBot.RemoveLiqToYtInput",
1467
+ name: "inputParams",
1468
+ type: "tuple",
1469
+ },
1470
+ ],
1471
+ name: "removeLiqToYt",
1472
+ outputs: [
1473
+ {
1474
+ internalType: "uint256",
1475
+ name: "netLpRemoved",
1476
+ type: "uint256",
1477
+ },
1478
+ {
1479
+ internalType: "uint256",
1480
+ name: "netYtOut",
1481
+ type: "uint256",
1482
+ },
1483
+ ],
1484
+ stateMutability: "nonpayable",
1485
+ type: "function",
1486
+ },
1487
+ {
1488
+ inputs: [],
1489
+ name: "router",
1490
+ outputs: [
1491
+ {
1492
+ internalType: "address",
1493
+ name: "",
1494
+ type: "address",
1495
+ },
1496
+ ],
1497
+ stateMutability: "view",
1498
+ type: "function",
1499
+ },
1500
+ {
1501
+ inputs: [
1502
+ {
1503
+ components: [
1504
+ {
1505
+ internalType: "uint256",
1506
+ name: "buyYtIy",
1507
+ type: "uint256",
1508
+ },
1509
+ {
1510
+ internalType: "uint256",
1511
+ name: "sellYtIy",
1512
+ type: "uint256",
1513
+ },
1514
+ {
1515
+ internalType: "uint256",
1516
+ name: "targetSyRatio",
1517
+ type: "uint256",
1518
+ },
1519
+ {
1520
+ internalType: "uint256",
1521
+ name: "maxSyRatio",
1522
+ type: "uint256",
1523
+ },
1524
+ {
1525
+ internalType: "uint256",
1526
+ name: "targetYtPtRatio",
1527
+ type: "uint256",
1528
+ },
1529
+ {
1530
+ internalType: "uint256",
1531
+ name: "numOfBins",
1532
+ type: "uint256",
1533
+ },
1534
+ ],
1535
+ internalType: "struct TradingSpecs",
1536
+ name: "_specs",
1537
+ type: "tuple",
1538
+ },
1539
+ ],
1540
+ name: "setSpecs",
1541
+ outputs: [],
1542
+ stateMutability: "nonpayable",
1543
+ type: "function",
1544
+ },
1545
+ {
1546
+ inputs: [],
1547
+ name: "specs",
1548
+ outputs: [
1549
+ {
1550
+ internalType: "uint256",
1551
+ name: "buyYtIy",
1552
+ type: "uint256",
1553
+ },
1554
+ {
1555
+ internalType: "uint256",
1556
+ name: "sellYtIy",
1557
+ type: "uint256",
1558
+ },
1559
+ {
1560
+ internalType: "uint256",
1561
+ name: "targetSyRatio",
1562
+ type: "uint256",
1563
+ },
1564
+ {
1565
+ internalType: "uint256",
1566
+ name: "maxSyRatio",
1567
+ type: "uint256",
1568
+ },
1569
+ {
1570
+ internalType: "uint256",
1571
+ name: "targetYtPtRatio",
1572
+ type: "uint256",
1573
+ },
1574
+ {
1575
+ internalType: "uint256",
1576
+ name: "numOfBins",
1577
+ type: "uint256",
1578
+ },
1579
+ ],
1580
+ stateMutability: "view",
1581
+ type: "function",
1582
+ },
1583
+ {
1584
+ inputs: [
1585
+ {
1586
+ internalType: "int256",
1587
+ name: "ptToAccount",
1588
+ type: "int256",
1589
+ },
1590
+ {
1591
+ internalType: "int256",
1592
+ name: "syToAccount",
1593
+ type: "int256",
1594
+ },
1595
+ {
1596
+ internalType: "bytes",
1597
+ name: "data",
1598
+ type: "bytes",
1599
+ },
1600
+ ],
1601
+ name: "swapCallback",
1602
+ outputs: [],
1603
+ stateMutability: "nonpayable",
1604
+ type: "function",
1605
+ },
1606
+ {
1607
+ inputs: [
1608
+ {
1609
+ internalType: "address",
1610
+ name: "newOwner",
1611
+ type: "address",
1612
+ },
1613
+ {
1614
+ internalType: "bool",
1615
+ name: "direct",
1616
+ type: "bool",
1617
+ },
1618
+ {
1619
+ internalType: "bool",
1620
+ name: "renounce",
1621
+ type: "bool",
1622
+ },
1623
+ ],
1624
+ name: "transferOwnership",
1625
+ outputs: [],
1626
+ stateMutability: "nonpayable",
1627
+ type: "function",
1628
+ },
1629
+ {
1630
+ inputs: [
1631
+ {
1632
+ internalType: "address",
1633
+ name: "newImplementation",
1634
+ type: "address",
1635
+ },
1636
+ ],
1637
+ name: "upgradeTo",
1638
+ outputs: [],
1639
+ stateMutability: "nonpayable",
1640
+ type: "function",
1641
+ },
1642
+ {
1643
+ inputs: [
1644
+ {
1645
+ internalType: "address",
1646
+ name: "newImplementation",
1647
+ type: "address",
1648
+ },
1649
+ {
1650
+ internalType: "bytes",
1651
+ name: "data",
1652
+ type: "bytes",
1653
+ },
1654
+ ],
1655
+ name: "upgradeToAndCall",
1656
+ outputs: [],
1657
+ stateMutability: "payable",
1658
+ type: "function",
1659
+ },
1660
+ {
1661
+ inputs: [
1662
+ {
1663
+ internalType: "address",
1664
+ name: "token",
1665
+ type: "address",
1666
+ },
1667
+ {
1668
+ internalType: "uint256",
1669
+ name: "amount",
1670
+ type: "uint256",
1671
+ },
1672
+ ],
1673
+ name: "withdrawFunds",
1674
+ outputs: [],
1675
+ stateMutability: "nonpayable",
1676
+ type: "function",
1677
+ },
1678
+ {
1679
+ stateMutability: "payable",
1680
+ type: "receive",
1681
+ },
1682
+ ];
1683
+
1684
+ const _bytecode =
1685
+ "0x61018060405230610160523480156200001757600080fd5b506040516200636f3803806200636f8339810160408190526200003a91620002ea565b6001548490849084908490600160a81b900460ff161580801562000069575060018054600160a01b900460ff16105b806200009f575062000086306200023f60201b62001a691760201c565b1580156200009f575060018054600160a01b900460ff16145b620001085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6001805460ff60a01b1916600160a01b179055801562000136576001805460ff60a81b1916600160a81b1790555b6000806000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200017a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a0919062000352565b6001600160a01b03808c1660a0528a811660c05280841660e052808316610100528082166101205289811661014052881660805291945092509050620001e56200024e565b505050801562000230576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050620003a6565b6001600160a01b03163b151590565b600154600160a81b900460ff16620002bd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620000ff565b600080546001600160a01b03191633179055565b6001600160a01b0381168114620002e757600080fd5b50565b600080600080608085870312156200030157600080fd5b84516200030e81620002d1565b60208601519094506200032181620002d1565b60408601519093506200033481620002d1565b60608601519092506200034781620002d1565b939692955090935050565b6000806000606084860312156200036857600080fd5b83516200037581620002d1565b60208501519093506200038881620002d1565b60408501519092506200039b81620002d1565b809150509250925092565b60805160a05160c05160e05161010051610120516101405161016051615dd46200059b6000396000818161073c0152818161077c01528181610b5a01528181610b9a0152610c120152600081816103130152818161097a01526109aa0152600081816102d201528181610d1901528181610e400152818161139b0152818161142501528181611cf4015281816122a001528181612899015281816129d701528181612a9501528181612b5901528181612b8201528181612c1001528181612c3101528181612c6d0152612d840152600081816104e901528181610d4701528181612b380152612d0b01526000818161048201528181610af401528181610ceb015281816114d00152818161155a01528181611d8e01526126dc0152600081816105eb01528181610dc701528181610ea5015261269e01526000818161034701528181610cc001528181610d9a015281816115fe01528181611688015281816119c701528181611e22015281816121690152818161220b0152818161236f0152818161244a0152818161281f015281816128400152818161286a015281816128ba0152818161294201528181612a6601528181612c9a01528181612d2c0152612db101526000818161057501528181610f4701528181611021015281816117d3015281816118c101526124fd0152615dd46000f3fe60806040526004361061016c5760003560e01c8063078dfbe7146101785780633659cfe61461019a57806337deed8d146101ba57806343833bd6146101da5780634e71e0c8146102115780634f0364b1146102265780634f1ef2861461024657806352d1902d1461025957806365b800e61461027c5780636f8d61971461029e578063781c18db146102c05780637cf738d21461030157806380f55605146103355780638195f674146103695780638da5cb5b1461038957806396aba492146103a9578063a7584e5e146103d8578063acdb32df146103f8578063adb7c3f714610418578063afd27bf514610470578063c09aa0d2146104a4578063c1075329146104b7578063d94073d4146104d7578063dbeadc071461050b578063e138b2ee1461052d578063e30c397814610543578063e82cee7914610563578063eb983ce514610597578063ebff5439146105b9578063f887ea40146105d9578063fa483e721461060d57600080fd5b3661017357005b600080fd5b34801561018457600080fd5b50610198610193366004614cf0565b61062d565b005b3480156101a657600080fd5b506101986101b5366004614d3b565b610732565b3480156101c657600080fd5b506101986101d5366004614dc7565b6107fa565b3480156101e657600080fd5b506101fa6101f5366004614e8b565b610933565b604051610208929190614ed6565b60405180910390f35b34801561021d57600080fd5b50610198610a1a565b34801561023257600080fd5b50610198610241366004614ee4565b610ac5565b610198610254366004614f6c565b610b50565b34801561026557600080fd5b5061026e610c05565b604051908152602001610208565b34801561028857600080fd5b50610291610cb3565b6040516102089190614feb565b3480156102aa57600080fd5b506102b3610d7b565b6040516102089190615074565b3480156102cc57600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b6040516102089190615083565b34801561030d57600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b34801561034157600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b34801561037557600080fd5b506101fa610384366004615097565b610e73565b34801561039557600080fd5b506000546102f4906001600160a01b031681565b3480156103b557600080fd5b506103c96103c43660046150c3565b610f05565b604051610208939291906150dc565b3480156103e457600080fd5b506101986103f3366004615104565b61112a565b34801561040457600080fd5b50610198610413366004615120565b61116b565b34801561042457600080fd5b5060325460335460345460355460365460375461044395949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610208565b34801561047c57600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b6101986104b2366004615161565b611236565b3480156104c357600080fd5b506101986104d23660046151a5565b6112e5565b3480156104e357600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b34801561051757600080fd5b5061052061136a565b60405161020891906151d1565b34801561053957600080fd5b5061026e60385481565b34801561054f57600080fd5b506001546102f4906001600160a01b031681565b34801561056f57600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a357600080fd5b506105ac611731565b604051610208919061528d565b3480156105c557600080fd5b506101fa6105d436600461529c565b611792565b3480156105e557600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b34801561061957600080fd5b506101986106283660046152af565b6119bc565b6000546001600160a01b031633146106605760405162461bcd60e51b81526004016106579061532e565b60405180910390fd5b8115610711576001600160a01b03831615158061067a5750805b6106be5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610657565b600080546040516001600160a01b0380871693921691600080516020615d5883398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361077a5760405162461bcd60e51b815260040161065790615363565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107ac611a78565b6001600160a01b0316146107d25760405162461bcd60e51b81526004016106579061539d565b6107db81611a94565b604080516000808252602082019092526107f791839190611abe565b50565b600154600160a81b900460ff1615808015610820575060018054600160a01b900460ff16105b80610847575061082f30611a69565b158015610847575060018054600160a01b900460ff16145b6108aa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610657565b6001805460ff60a01b1916600160a01b17905580156108d7576001805460ff60a81b1916600160a81b1790555b6108e082611c29565b6108e8611c5c565b801561092f576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000805481906001600160a01b031633146109605760405162461bcd60e51b81526004016106579061532e565b610968611cdd565b610973858585611e9e565b915061099e7f0000000000000000000000000000000000000000000000000000000000000000611f2a565b6000549091506109d9907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b031683611fb5565b7f9fdfc39e9c36ec108e0a3b25ecb0818f9dba6993f27c8ab183d6f707c0a0e3198282604051610a0a929190614ed6565b60405180910390a1935093915050565b6001546001600160a01b0316338114610a755760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610657565b600080546040516001600160a01b0380851693921691600080516020615d5883398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000546001600160a01b03163314610aef5760405162461bcd60e51b81526004016106579061532e565b610b1a7f0000000000000000000000000000000000000000000000000000000000000000338361207f565b6040518181527ffbf5b64cc7bd746fa51ff05d539d45d159c0bd41ae16d90375281f2925062bb19060200160405180910390a150565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b985760405162461bcd60e51b815260040161065790615363565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bca611a78565b6001600160a01b031614610bf05760405162461bcd60e51b81526004016106579061539d565b610bf982611a94565b61092f82826001611abe565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ca05760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610657565b50600080516020615d3883398151915290565b610cbb614bb9565b610ce47f0000000000000000000000000000000000000000000000000000000000000000611f2a565b8152610d0f7f0000000000000000000000000000000000000000000000000000000000000000611f2a565b6060820152610d3d7f0000000000000000000000000000000000000000000000000000000000000000611f2a565b6020820152610d6b7f0000000000000000000000000000000000000000000000000000000000000000611f2a565b6040820152603854608082015290565b610d83614be8565b60405163794052f360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063794052f390610def907f000000000000000000000000000000000000000000000000000000000000000090600401615083565b61012060405180830381865afa158015610e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3191906153e2565b8152610e656001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166120e6565b602082015242604082015290565b6000805481906001600160a01b03163314610ea05760405162461bcd60e51b81526004016106579061532e565b610ecc7f000000000000000000000000000000000000000000000000000000000000000086868661214c565b60405191935091507f48f22f4bc9aee5b703ec4521f5f611eb37d722e592a0545e957f00ce8e9bd3ec90610a0a908790859085906150dc565b60008054819081906001600160a01b03163314610f345760405162461bcd60e51b81526004016106579061532e565b6000610f3e611731565b90508460e001357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a76541e5836040518263ffffffff1660e01b8152600401610f91919061528d565b602060405180830381865afa158015610fae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd29190615464565b1461101f5760405162461bcd60e51b815260206004820152601f60248201527f6164644c697146726f6d59743a2062696e2073746174652065787069726564006044820152606401610657565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166303270af4611056611731565b6040516001600160e01b031960e084901b168152611088919060019060c08b013590600019908c9081906004016154c3565b602060405180830381865afa1580156110a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c99190615464565b93506110d9848660a00135612204565b90935091506110e66124f9565b6040517fba4064507fa740cdd61480d0c0ce70e6b4e0f349dda4cd52184466a3c19936439061111a90879085908790615513565b60405180910390a1509193909250565b6000546001600160a01b031633146111545760405162461bcd60e51b81526004016106579061532e565b6107f761116636839003830183614dc7565b611c29565b6000546001600160a01b031633146111955760405162461bcd60e51b81526004016106579061532e565b60005b8181101561072d57368383838181106111b3576111b3615532565b90506020028101906111c59190615548565b905060005b6111d48280615568565b905081101561122c576112246111ea8380615568565b838181106111fa576111fa615532565b905060200201602081019061120f9190614d3b565b61121f6040850160208601614d3b565b6125b7565b6001016111ca565b5050600101611198565b6000546001600160a01b031633146112605760405162461bcd60e51b81526004016106579061532e565b61127b6112706020840184614d3b565b33846020013561207f565b61128d61128783615658565b82612672565b5061129b6020830183614d3b565b6001600160a01b03167f2d0c0a8842b9944ece1495eb61121621b5e36bd6af3bba0318c695f525aef79f83602001356040516112d991815260200190565b60405180910390a25050565b6000546001600160a01b0316331461130f5760405162461bcd60e51b81526004016106579061532e565b60001981036113245761132182611f2a565b90505b61132f823383611fb5565b816001600160a01b03167f21901fa892c430ea8bd38b9390225ac8e67eac75ee10ffba16feefc539a288f9826040516112d991815260200190565b6000546060906001600160a01b031633146113975760405162461bcd60e51b81526004016106579061532e565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156113f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261141f9190810190615738565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637d24da4d306001806040518463ffffffff1660e01b8152600401611474939291906157cb565b6000604051808303816000875af1158015611493573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114bb9190810190615854565b91506114ca905083838361275f565b925060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561152c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115549190810190615738565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef5cfb8c306040518263ffffffff1660e01b81526004016115a49190615083565b6000604051808303816000875af11580156115c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115eb9190810190615891565b90506115f885838361275f565b945060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561165a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116829190810190615738565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639262187b306040518263ffffffff1660e01b81526004016116d29190615083565b6000604051808303816000875af11580156116f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117199190810190615891565b905061172687838361275f565b965050505050505090565b611739614c5f565b611741610cb3565b815261174b610d7b565b6020808301919091526040805160c081018252603254815260335492810192909252603454828201526035546060830152603654608083015260375460a083015282015290565b6000805481906001600160a01b031633146117bf5760405162461bcd60e51b81526004016106579061532e565b60006117c9611731565b90508361018001357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a76541e5836040518263ffffffff1660e01b815260040161181d919061528d565b602060405180830381865afa15801561183a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185e9190615464565b146118ab5760405162461bcd60e51b815260206004820181905260248201527f72656d6f76654c6971546f59743a2062696e20737461746520657870697265646044820152606401610657565b60405162c9c2bd60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906303270af49061190b9084906002906101608a013590600019908b9060a08201906004016154c3565b602060405180830381865afa158015611928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194c9190615464565b925061196f8361196436879003870160a088016158c5565b866101400135612817565b50915061197a6124f9565b6040517f43950417e0eb7225b8f42332a069bc35fbdf65f3d90c124210b3d3aefc3d6a40906119ae90869086908690615513565b60405180910390a150915091565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168114611a08578060405163719d6b0360e01b81526004016106579190615083565b82356001816004811115611a1e57611a1e61547d565b03611a3457611a2f86868686612b2e565b611a61565b6002816004811115611a4857611a4861547d565b03611a5957611a2f86868686612d64565b611a61615934565b505050505050565b6001600160a01b03163b151590565b600080516020615d38833981519152546001600160a01b031690565b6000546001600160a01b031633146107f75760405162461bcd60e51b81526004016106579061532e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611af15761072d83612e45565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b4b575060408051601f3d908101601f19168201909252611b4891810190615464565b60015b611bae5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610657565b600080516020615d388339815191528114611c1d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610657565b5061072d838383612edf565b8051603255602081015160335560408101516034556060810151603555608081015160365560a001516037819055603855565b600154600160a81b900460ff16611cc95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610657565b600080546001600160a01b03191633179055565b604051637d24da4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637d24da4d90611d2e90309060019081906004016157cb565b6000604051808303816000875af1158015611d4d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d759190810190615854565b5050604051633bd73ee360e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ef5cfb8c90611dc3903090600401615083565b6000604051808303816000875af1158015611de2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e0a9190810190615891565b50604051639262187b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639262187b90611e57903090600401615083565b6000604051808303816000875af1158015611e76573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107f79190810190615891565b6000805b83811015611efd57611ee1858583818110611ebf57611ebf615532565b9050602002810190611ed1919061594a565b611eda90615658565b6000612672565b611eeb9083615976565b9150611ef681615989565b9050611ea2565b5081811015611f2357808260405163d294eca360e01b8152600401610657929190614ed6565b9392505050565b60006001600160a01b03821615611fad576040516370a0823160e01b81526001600160a01b038316906370a0823190611f67903090600401615083565b602060405180830381865afa158015611f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa89190615464565b611faf565b475b92915050565b80600003611fc257505050565b6001600160a01b03831661206b576000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461201d576040519150601f19603f3d011682016040523d82523d6000602084013e612022565b606091505b50509050806120655760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610657565b50505050565b61072d6001600160a01b0384168383612f04565b6001600160a01b0383166120cb5780341461072d5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610657565b801561072d5761072d6001600160a01b038416833084612f5a565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612128573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611faf9190615464565b604051634221c25560e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152604482018590526064820184905260848201839052600091829187169063844384aa9060a40160408051808303816000875af11580156121d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f791906159a2565b9150915094509492505050565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663794052f3306040518263ffffffff1660e01b81526004016122559190615083565b61012060405180830381865afa158015612273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229791906153e2565b905060006122cd7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166120e6565b905060006122dd83838942612f7b565b5090915082905060006122f082846159c6565b612302670de0b6b3a76400008b6159c6565b61230c91906159dd565b9050600061231d8660000151612fcf565b8361232b8860200151612fcf565b61233591906159c6565b61233f9190615a06565b61235190670de0b6b3a7640000615976565b9050600061235f8284615a06565b905061236b818c6159dd565b97507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635b709f17308d6123a78c612fe2565b6040518463ffffffff1660e01b81526004016123c593929190615a6a565b60408051808303816000875af11580156123e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240791906159a2565b5060009050612416878a613016565b9050600061242487836159dd565b604051630ab714fb60e11b815230600482015260248101829052604481018590529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063156e29f6906064016060604051808303816000875af115801561249b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124bf9190615a9a565b50909b50508b8b10156124e9578a8c60405163066d180b60e01b8152600401610657929190614ed6565b5050505050505050509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a76541e5612532611731565b6040518263ffffffff1660e01b815260040161254e919061528d565b602060405180830381865afa15801561256b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061258f9190615464565b90506107f76125b2826125a3603854613022565b6125ad9190615ac8565b612fcf565b603855565b6001600160a01b0382166125c9575050565b6125db60026001600160601b03615af0565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b8152600401612612929190615b16565b602060405180830381865afa15801561262f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126539190615464565b101561092f5761266582826000613038565b61092f8282600019613038565b600060001983602001510361269257825161268c90611f2a565b60208401525b82516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169163443e65129116156126d35760006126d9565b84602001515b307f000000000000000000000000000000000000000000000000000000000000000086886040518663ffffffff1660e01b815260040161271c9493929190615b30565b60206040518083038185885af115801561273a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f239190615464565b805182518491146127b25760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e416d6f756e744c69623a206c656e677468206d69736d61746368006044820152606401610657565b60005b835181101561280f576127fb828583815181106127d4576127d4615532565b60200260200101518584815181106127ee576127ee615532565b602002602001015161314c565b91508061280781615989565b9150506127b5565b509392505050565b6000806128657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000087611fb5565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f6b911bc7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008a6040518463ffffffff1660e01b81526004016128f893929190615bf7565b60408051808303816000875af1158015612916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061293a91906159a2565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663794052f3306040518263ffffffff1660e01b815260040161298c9190615083565b61012060405180830381865afa1580156129aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ce91906153e2565b90506000612a047f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166120e6565b90506000612a12828661330e565b90506000612a2e83612a248488615976565b869190428e61331a565b5097509050612a3d8282615976565b975088881015612a6457878960405163716d9a5760e11b8152600401610657929190614ed6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166329910b117f000000000000000000000000000000000000000000000000000000000000000089612abe8d61343b565b6040518463ffffffff1660e01b8152600401612adc93929190615a6a565b60408051808303816000875af1158015612afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b1e91906159a2565b5050505050505050935093915050565b6020820135612b7e7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000083611fb5565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c029190615c1b565b1590508015612c5657612c567f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084611fb5565b60405163bcb7ea5d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bcb7ea5d90612cc2907f000000000000000000000000000000000000000000000000000000000000000090600401615083565b6020604051808303816000875af1158015612ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d059190615464565b50611a617f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612d558a612fcf565b612d5f91906159dd565b611fb5565b60405163db74aa1560e01b81526020830135906000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063db74aa1590612ddb907f0000000000000000000000000000000000000000000000000000000000000000903090600401615b16565b6020604051808303816000875af1158015612dfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1e9190615464565b905081811015611a6157808260405163716d9a5760e11b8152600401610657929190614ed6565b612e4e81611a69565b612eb05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610657565b600080516020615d3883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612ee883613462565b600082511180612ef55750805b1561072d5761206583836134a2565b61072d8363a9059cbb60e01b8484604051602401612f23929190615c38565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526134c7565b612065846323b872dd60e01b858585604051602401612f2393929190615bf7565b600080600080600080612f988a8a612f928b613022565b8a613599565b925092509250612faa6125ad8461362c565b9550612fb582612fcf565b9450612fc081612fcf565b93505050509450945094915050565b600080821215612fde57600080fd5b5090565b604080518181526060818101835291602082018180368337019050509050600060015b602083015250604081019190915290565b6000611f23838361363a565b60006001600160ff1b03821115612fde57600080fd5b600080846001600160a01b031663095ea7b360e01b8585604051602401613060929190615c38565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161309e9190615c51565b6000604051808303816000865af19150503d80600081146130db576040519150601f19603f3d011682016040523d82523d6000602084013e6130e0565b606091505b509150915081801561310a57508051158061310a57508080602001905181019061310a9190615c1b565b6131455760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b6044820152606401610657565b5050505050565b60608160000361315d575082611f23565b835160005b85518110156131bb57846001600160a01b031686828151811061318757613187615532565b6020026020010151600001516001600160a01b0316036131a9578091506131bb565b806131b381615989565b915050613162565b50845181146131cb5760006131ce565b60015b60ff1685516131dd9190615976565b6001600160401b038111156131f4576131f4614d58565b60405190808252806020026020018201604052801561323957816020015b60408051808201909152600080825260208201528152602001906001900390816132125790505b50915060005b85518110156132925785818151811061325a5761325a615532565b602002602001015183828151811061327457613274615532565b6020026020010181905250808061328a90615989565b91505061323f565b506040518060400160405280856001600160a01b0316815260200184875184146132d9578784815181106132c8576132c8615532565b6020026020010151602001516132dc565b60005b6132e69190615976565b8152508282815181106132fb576132fb615532565b6020026020010181905250509392505050565b6000611f238383613659565b600080808061332a89898861366e565b9050846040015160000361336c5784516133449088613768565b8552602085015161335e906133598b8461377e565b6137fa565b602086015261336c85613809565b60005b85606001518110156134165760006133878783613854565b90506000806133988d868e866138c0565b50909250905060006133aa8d8461330e565b905060006133b882866159dd565b90508c81116133ef576133d0818e8d608001516138f1565b156133e75750975091955090935061343092505050565b848b52613400565b6133fa6001866159dd565b60208c01525b50505050508061340f90615989565b905061336f565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b60408051818152606081810183529160208201818036833701905050905060006002613005565b61346b81612e45565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611f238383604051806060016040528060278152602001615d7860279139613925565b600061351c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613a009092919063ffffffff16565b80519091501561072d578080602001905181019061353a9190615c1b565b61072d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610657565b60008060006135ac8760a0015185101590565b156135ca5760405163b2094b5960e01b815260040160405180910390fd5b865185126135f0578651604051632185509b60e21b815261065791908790600401614ed6565b60006135fd88888761366e565b905061360b88828989613a0f565b919550935091506136218882898988878b613b63565b509450945094915050565b6000611faf82600019615c63565b60008261364f670de0b6b3a7640000846159c6565b611f239190615a06565b6000670de0b6b3a764000061364f84846159c6565b6136996040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106136bd5760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516136cf91906159dd565b90506136db8582613bf5565b825260208501516136ed908590613c56565b60208301528451158061370257506020820151155b15613729578451602083015160405163b1c4aefb60e01b8152610657929190600401614ed6565b61374785600001518661010001518460200151856000015185613c8d565b604083015260c085015161375b9082613d0e565b6060830152509392505050565b60008183116137775781611f23565b5090919050565b6000806000905060006001846020015161379891906159dd565b90505b80821461280f57600060026137b08385615976565b6137bb906001615976565b6137c59190615a06565b905060006137d886886000015184613d47565b12156137f0576137e96001826159dd565b91506137f4565b8092505b5061379b565b60008183106137775781611f23565b6020810151815111806138275750670de0b6b3a76400008160800151115b156107f757805160208201516080830151604051632cc06bc160e21b8152610657939291906004016150dc565b6000811580156138675750604083015115155b1561387757506040820151611faf565b60208301518351116138a7576020830151835160029161389691615976565b6138a09190615a06565b9050611faf565b604051637d388ed960e11b815260040160405180910390fd5b600080808080806138de89896138d58a615c93565b8d929190613a0f565b919c909b50909950975050505050505050565b600082841115801561391d57506139198361391484670de0b6b3a76400006159dd565b613e3f565b8410155b949350505050565b606061393084611a69565b61398b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610657565b600080856001600160a01b0316856040516139a69190615c51565b600060405180830381855af49150503d80600081146139e1576040519150601f19603f3d011682016040523d82523d6000602084013e6139e6565b606091505b50915091506139f6828286613e5f565b9695505050505050565b606061391d8484600085613e98565b600080600080613a328860000151886020015189600001518a6040015189613fc7565b90506000613a48613a43878461407f565b61362c565b60608901519091506000871315613ab7576000613a65848361407f565b9050670de0b6b3a7640000811215613a935760405163329e322960e21b815260048101829052602401610657565b613aaf613aa883670de0b6b3a7640000615caf565b84906140ae565b915050613ae4565b613ae181613acd81670de0b6b3a7640000615caf565b613ad79085615c63565b613a439190615cd6565b90505b60006064613af58c60e00151613022565b613aff9084615c63565b613b099190615cd6565b90506000613b178385615caf565b905060008112613b3057613b2b8a826140cc565b613b3a565b613b3a8a826140f9565b9750613b468a846140cc565b9650613b528a836140cc565b955050505050509450945094915050565b6000818860a00151613b7591906159dd565b8851909150613b849086614126565b8852613b9e613b938486615ac8565b60208a015190614126565b602089018190528851613bc391613bb6908990613c56565b895160408b01518561416d565b6101008901819052600003613beb57604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b6000613c0082613022565b613c17613c126201518061016d6159c6565b613022565b8460800151613c269190615c63565b613c309190615cd6565b905060008113611faf57604051630e520c3b60e11b815260048101829052602401610657565b60008060008312613c68576001613c6c565b6000195b9050613c83613c1285613c7e866141c0565b613659565b61391d9082615c63565b600080613c9a8684613d0e565b9050670de0b6b3a7640000811215613cc85760405163329e322960e21b815260048101829052602401610657565b6000613cde613cd7878a615ac8565b899061407f565b90506000613ceb826141d2565b9050613cf7818761407f565b613d019084615caf565b9998505050505050505050565b600080613d206201518061016d6159c6565b613d2a84866159c6565b613d349190615a06565b905061391d613d4282613022565b614225565b600080828560200151613d5a9190615caf565b90506000613d688585615ac8565b9050600082138015613d7a5750600081135b613dbb5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610657565b6000613de9613dca8484615c63565b6020890151613dd99089615ac8565b613de39088615c63565b9061407f565b90506000613dff613dfa848661407f565b61463a565b8851909150600090613e1a90670de0b6b3a76400009061407f565b9050613e3081613e2a8486615caf565b906140ae565b8960400151613d019190615caf565b600080613e4c83856159c6565b670de0b6b3a76400009004949350505050565b60608315613e6e575081611f23565b825115613e7e5782518084602001fd5b8160405162461bcd60e51b81526004016106579190615d04565b606082471015613ef95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610657565b613f0285611a69565b613f4e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610657565b600080866001600160a01b03168587604051613f6a9190615c51565b60006040518083038185875af1925050503d8060008114613fa7576040519150601f19603f3d011682016040523d82523d6000602084013e613fac565b606091505b5091509150613fbc828286613e5f565b979650505050505050565b600080613fd48784614126565b90506000613fec613fe5888a615ac8565b839061407f565b9050670d529ae9e86000008113156140235780670d529ae9e8600000604051637e34684f60e11b8152600401610657929190614ed6565b600061402e826141d2565b90508561403b828961407f565b6140459190615ac8565b9350670de0b6b3a76400008412156140735760405163329e322960e21b815260048101859052602401610657565b50505095945050505050565b600080614094670de0b6b3a764000085615c63565b90508281816140a5576140a56159f0565b05949350505050565b6000806140bb8385615c63565b9050670de0b6b3a7640000816140a5565b600080600083126140de5760016140e2565b6000195b9050613c83613c12856140f4866141c0565b61363a565b6000806000831261410b57600161410f565b6000195b9050613c83613c1285614121866141c0565b6146cb565b6000818312156141635760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610657565b611f238284615caf565b60008061417e878787876000613fc7565b9050600061418e6125ad8361463a565b9050836141a06201518061016d6159c6565b6141aa90836159c6565b6141b49190615a06565b98975050505050505050565b6000808213612fde57611fa882615c93565b6000670de0b6b3a764000082036141fc5760405163a9c8b14d60e01b815260040160405180910390fd5b600061421a61421384670de0b6b3a7640000615caf565b849061407f565b9050611f238161463a565b6000680238fd42c5cf03ffff19821215801561424a575068070c1cc73b00c800008213155b6142895760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610657565b60008212156142c15761429e82600003614225565b6a0c097ce7bc90715b34b9f160241b816142ba576142ba6159f0565b0592915050565b60006806f05b59d3b200000083126142ff57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b614335565b6803782dace9d9000000831261433157506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380614335565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126143855768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126143c1576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126143fb57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412614435576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261446e57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126144a75768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126144e0576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126145195768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080821361467b5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610657565b670c7d713b49da0000821380156146995750670f43fc2c04ee000082125b156146bd57670de0b6b3a76400006146b0836146f7565b816142ba576142ba6159f0565b611faf82614816565b919050565b6000826001816146e3670de0b6b3a7640000866159c6565b6146ed9190615976565b61364f91906159dd565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281614738576147386159f0565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156148575761484e826a0c097ce7bc90715b34b9f160241b81614848576148486159f0565b05614816565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126148a25772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126148d9576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312614921576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831261495c576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261499357693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126149ca57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126149ff5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312614a2a57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312614a5f576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312614a94576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312614ac8576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312614afc576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281614b2557614b256159f0565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060600160405280614c4b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b815260200160008152602001600081525090565b6040518060600160405280614c72614bb9565b8152602001614c7f614be8565b8152602001614cbd6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b905290565b6001600160a01b03811681146107f757600080fd5b80356146c681614cc2565b80151581146107f757600080fd5b600080600060608486031215614d0557600080fd5b8335614d1081614cc2565b92506020840135614d2081614ce2565b91506040840135614d3081614ce2565b809150509250925092565b600060208284031215614d4d57600080fd5b8135611f2381614cc2565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715614d9157614d91614d58565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614dbf57614dbf614d58565b604052919050565b600060c08284031215614dd957600080fd5b60405160c081016001600160401b0381118282101715614dfb57614dfb614d58565b8060405250823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201528091505092915050565b60008083601f840112614e5257600080fd5b5081356001600160401b03811115614e6957600080fd5b6020830191508360208260051b8501011115614e8457600080fd5b9250929050565b600080600060408486031215614ea057600080fd5b83356001600160401b03811115614eb657600080fd5b614ec286828701614e40565b909790965060209590950135949350505050565b918252602082015260400190565b600060208284031215614ef657600080fd5b5035919050565b600082601f830112614f0e57600080fd5b81356001600160401b03811115614f2757614f27614d58565b614f3a601f8201601f1916602001614d97565b818152846020838601011115614f4f57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614f7f57600080fd5b8235614f8a81614cc2565b915060208301356001600160401b03811115614fa557600080fd5b614fb185828601614efd565b9150509250929050565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60a08101611faf8284614fbb565b805180518352602081015160208401526040810151604084015260018060a01b0360608201511660608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e084015261010080820151818501525050602081015161012083015260408101516101408301525050565b6101608101611faf8284614ff9565b6001600160a01b0391909116815260200190565b6000806000606084860312156150ac57600080fd5b505081359360208301359350604090920135919050565b600061010082840312156150d657600080fd5b50919050565b9283526020830191909152604082015260600190565b600060c082840312156150d657600080fd5b600060c0828403121561511657600080fd5b611f2383836150f2565b6000806020838503121561513357600080fd5b82356001600160401b0381111561514957600080fd5b61515585828601614e40565b90969095509350505050565b6000806040838503121561517457600080fd5b82356001600160401b0381111561518a57600080fd5b615196858286016150f2565b95602094909401359450505050565b600080604083850312156151b857600080fd5b82356151c381614cc2565b946020939093013593505050565b602080825282518282018190526000919060409081850190868401855b8281101561521c57815180516001600160a01b031685528601518685015292840192908501906001016151ee565b5091979650505050505050565b615234828251614fbb565b602081015161524660a0840182614ff9565b5060409081015180516102008401526020810151610220840152908101516102408301526060810151610260830152608081015161028083015260a001516102a090910152565b6102c08101611faf8284615229565b60006101a082840312156150d657600080fd5b600080600080606085870312156152c557600080fd5b843593506020850135925060408501356001600160401b03808211156152ea57600080fd5b818701915087601f8301126152fe57600080fd5b81358181111561530d57600080fd5b88602082850101111561531f57600080fd5b95989497505060200194505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c90820152600080516020615d1883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020615d1883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b80516146c681614cc2565b600061012082840312156153f557600080fd5b6153fd614d6e565b825181526020830151602082015260408301516040820152615421606084016153d7565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b60006020828403121561547657600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b80358252602081013560208301526040810135604083015260608101356060830152608081013560808301525050565b61046081016154d28289615229565b600587106154e2576154e261547d565b866102c0830152856102e083015284610300830152615505610320830185615493565b613fbc6103c0830184615493565b60e081016155218286615493565b60a082019390935260c00152919050565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261555e57600080fd5b9190910192915050565b6000808335601e1984360301811261557f57600080fd5b8301803591506001600160401b0382111561559957600080fd5b6020019150600581901b3603821315614e8457600080fd5b6000608082840312156155c357600080fd5b604051608081016001600160401b0380821183831017156155e6576155e6614d58565b8160405282935084359150600482106155fe57600080fd5b90825260208401359061561082614cc2565b816020840152604085013591508082111561562a57600080fd5b5061563785828601614efd565b604083015250606083013561564b81614ce2565b6060919091015292915050565b600060c0823603121561566a57600080fd5b60405160c081016001600160401b03808211838310171561568d5761568d614d58565b816040528435915061569e82614cc2565b81835260208501356020840152604085013591506156bb82614cc2565b816040840152606085013591506156d182614cc2565b8160608401526156e360808601614cd7565b608084015260a08501359150808211156156fc57600080fd5b50615709368286016155b1565b60a08301525092915050565b60006001600160401b0382111561572e5761572e614d58565b5060051b60200190565b6000602080838503121561574b57600080fd5b82516001600160401b0381111561576157600080fd5b8301601f8101851361577257600080fd5b805161578561578082615715565b614d97565b81815260059190911b820183019083810190878311156157a457600080fd5b928401925b82841015613fbc5783516157bc81614cc2565b825292840192908401906157a9565b6001600160a01b0393909316835290151560208301521515604082015260600190565b600082601f8301126157ff57600080fd5b8151602061580f61578083615715565b82815260059290921b8401810191818101908684111561582e57600080fd5b8286015b848110156158495780518352918301918301615832565b509695505050505050565b6000806040838503121561586757600080fd5b825160208401519092506001600160401b0381111561588557600080fd5b614fb1858286016157ee565b6000602082840312156158a357600080fd5b81516001600160401b038111156158b957600080fd5b61391d848285016157ee565b600060a082840312156158d757600080fd5b60405160a081016001600160401b03811182821017156158f9576158f9614d58565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b634e487b7160e01b600052600160045260246000fd5b6000823560be1983360301811261555e57600080fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115611faf57611faf615960565b60006001820161599b5761599b615960565b5060010190565b600080604083850312156159b557600080fd5b505080516020909101519092909150565b8082028115828204841417611faf57611faf615960565b81810381811115611faf57611faf615960565b634e487b7160e01b600052601260045260246000fd5b600082615a1557615a156159f0565b500490565b60005b83811015615a35578181015183820152602001615a1d565b50506000910152565b60008151808452615a56816020860160208601615a1a565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000615a916060830184615a3e565b95945050505050565b600080600060608486031215615aaf57600080fd5b8351925060208401519150604084015190509250925092565b8082018281126000831280158216821582161715615ae857615ae8615960565b505092915050565b60006001600160601b0383811680615b0a57615b0a6159f0565b92169190910492915050565b6001600160a01b0392831681529116602082015260400190565b600060018060a01b038087168352808616602084015284604084015260806060840152808451166080840152602084015160a08401528060408501511660c08401528060608501511660e08401528060808501511661010084015260a084015160c0610120850152805160048110615baa57615baa61547d565b61014085015260208101519091166101608401526040810151608061018085015290615bda6101c0850183615a3e565b9150606081015115156101a0850152508091505095945050505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060208284031215615c2d57600080fd5b8151611f2381614ce2565b6001600160a01b03929092168252602082015260400190565b6000825161555e818460208701615a1a565b80820260008212600160ff1b84141615615c7f57615c7f615960565b8181058314821517611faf57611faf615960565b6000600160ff1b8201615ca857615ca8615960565b5060000390565b8181036000831280158383131683831282161715615ccf57615ccf615960565b5092915050565b600082615ce557615ce56159f0565b600160ff1b821460001984141615615cff57615cff615960565b500590565b602081526000611f236020830184615a3e56fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220976a6985d1655e8b317e8f3f9a98247da4ac4ad1f532c5421fb7dd6acf91112f64736f6c63430008110033";
1686
+
1687
+ type LongYieldTradingBotConstructorParams =
1688
+ | [signer?: Signer]
1689
+ | ConstructorParameters<typeof ContractFactory>;
1690
+
1691
+ const isSuperArgs = (
1692
+ xs: LongYieldTradingBotConstructorParams
1693
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1694
+
1695
+ export class LongYieldTradingBot__factory extends ContractFactory {
1696
+ constructor(...args: LongYieldTradingBotConstructorParams) {
1697
+ if (isSuperArgs(args)) {
1698
+ super(...args);
1699
+ } else {
1700
+ super(_abi, _bytecode, args[0]);
1701
+ }
1702
+ this.contractName = "LongYieldTradingBot";
1703
+ }
1704
+
1705
+ deploy(
1706
+ _market: string,
1707
+ _router: string,
1708
+ _PENDLE: string,
1709
+ _decisionHelper: string,
1710
+ overrides?: Overrides & { from?: string | Promise<string> }
1711
+ ): Promise<LongYieldTradingBot> {
1712
+ return super.deploy(
1713
+ _market,
1714
+ _router,
1715
+ _PENDLE,
1716
+ _decisionHelper,
1717
+ overrides || {}
1718
+ ) as Promise<LongYieldTradingBot>;
1719
+ }
1720
+ getDeployTransaction(
1721
+ _market: string,
1722
+ _router: string,
1723
+ _PENDLE: string,
1724
+ _decisionHelper: string,
1725
+ overrides?: Overrides & { from?: string | Promise<string> }
1726
+ ): TransactionRequest {
1727
+ return super.getDeployTransaction(
1728
+ _market,
1729
+ _router,
1730
+ _PENDLE,
1731
+ _decisionHelper,
1732
+ overrides || {}
1733
+ );
1734
+ }
1735
+ attach(address: string): LongYieldTradingBot {
1736
+ return super.attach(address) as LongYieldTradingBot;
1737
+ }
1738
+ connect(signer: Signer): LongYieldTradingBot__factory {
1739
+ return super.connect(signer) as LongYieldTradingBot__factory;
1740
+ }
1741
+ static readonly contractName: "LongYieldTradingBot";
1742
+ public readonly contractName: "LongYieldTradingBot";
1743
+ static readonly bytecode = _bytecode;
1744
+ static readonly abi = _abi;
1745
+ static createInterface(): LongYieldTradingBotInterface {
1746
+ return new utils.Interface(_abi) as LongYieldTradingBotInterface;
1747
+ }
1748
+ static connect(
1749
+ address: string,
1750
+ signerOrProvider: Signer | Provider
1751
+ ): LongYieldTradingBot {
1752
+ return new Contract(address, _abi, signerOrProvider) as LongYieldTradingBot;
1753
+ }
1754
+ }